使用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 数组实例说明
Aug 18 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
一款简单实用的php操作mysql数据库类
Dec 08 PHP
PHP调试函数和日志记录函数分享
Jan 31 PHP
Yii学习总结之数据访问对象 (DAO)
Feb 22 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
PHP学习笔记之php文件操作
Jun 03 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
PHP检查端口是否可以被绑定的方法示例
Aug 09 PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
Aug 09 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
php出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
PHP多态代码实例
2015/06/26 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
js登录弹出层特效
2014/03/07 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
JS前端加密算法示例
2016/12/22 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
Node.js assert断言原理与用法分析
2019/01/04 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
js回到页面指定位置的三种方式
2020/12/17 Javascript
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
Python程序包的构建和发布过程示例详解
2019/06/09 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
python中turtle库的简单使用教程
2020/11/11 Python
python实现视频压缩功能
2020/12/18 Python
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
动态密码技术
2012/10/18 面试题
怎样自定义一个异常类
2016/09/27 面试题
测量员岗位职责
2015/02/14 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书