使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT


Posted in PHP onApril 23, 2011

例如这样一个表,我想统计email和passwords都不相同的记录的条数

CREATE TABLE IF NOT EXISTS `test_users` ( 
`email_id` int(11) unsigned NOT NULL auto_increment, 
`email` char(100) NOT NULL, 
`passwords` char(64) NOT NULL, 
PRIMARY KEY (`email_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

INSERT INTO `test_users` (`email_id`, `email`, `passwords`) VALUES
(1, ‘jims@gmail.com', ‘1e48c4420b7073bc11916c6c1de226bb'),
(2, ‘jims@yahoo.com.cn', ‘5294cef9f1bf1858ce9d7fdb62240546′),
(3, ‘default@gmail.com', ‘5294cef9f1bf1858ce9d7fdb62240546′),
(4, ‘jims@gmail.com', ”),
(5, ‘jims@gmail.com', ”);

通常我们的做法是这样

SELECT COUNT(*) FROM test_users WHERE 1 = 1 GROUP BY email,passwords

这样的结果是什么呢?
COUNT(*) 
1 
2 
1 
1

显然这不是我要的结果,这样统计出来的是相同email和passwords的各个记录数量之和,下面这样就可以了
SELECT COUNT(DISTINCT email,passwords) FROM `test_users` WHERE 1 = 1

当然在php里面也可以用mysql_num_rows来获取记录的条数,但是这样的效率不高,可以参考这篇文章
mysql_num_rows VS COUNT 效率问题分析
PHP 相关文章推荐
PHP 使用MySQL管理Session的回调函数详解
Jun 21 PHP
解析php下载远程图片函数 可伪造来路
Jun 25 PHP
php生成N个不重复的随机数实例
Nov 12 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
Feb 24 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
Jun 22 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
浅谈php命令行用法
Feb 04 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
Jun 12 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
Nov 23 PHP
mysql_num_rows VS COUNT 效率问题分析
Apr 23 #PHP
fleaphp rolesNameField bug解决方法
Apr 23 #PHP
FirePHP 推荐一款PHP调试工具
Apr 23 #PHP
在smarty模板中使用PHP函数的方法
Apr 23 #PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
Apr 23 #PHP
fleaphp crud操作之find函数的使用方法
Apr 23 #PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 #PHP
You might like
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
PHP 一个比较完善的简单文件上传
2010/03/25 PHP
php include和require的区别深入解析
2013/06/17 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
js导航菜单(自写)简单大方
2013/03/28 Javascript
js中数组排序sort方法的原理分析
2014/11/20 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
设计师大码女装:11 Honoré
2020/05/03 全球购物
英文版区域经理求职信
2013/10/23 职场文书
往来会计岗位职责
2013/12/19 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
会计人员演讲稿
2014/09/11 职场文书
银行奉献演讲稿
2014/09/16 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书