使用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 输出简单动态WAP页面
Jun 09 PHP
Php Mssql操作简单封装支持存储过程
Dec 11 PHP
joomla内置的表单验证功能使用方法
Jun 11 PHP
php短域名转换为实际域名函数
Jan 17 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
Win下如何安装PHP的APC拓展
Aug 07 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
php构造函数的继承方法
Feb 09 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
php删除二维数组中的重复值方法
Mar 12 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/02/25 PHP
PHP 正则表达式小结
2015/02/12 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
javascript按位非运算符的使用方法
2013/11/14 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
Vue单页应用引用单独的样式文件的两种方式
2018/03/30 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
vuex实现购物车的增加减少移除
2020/06/28 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
Python实现配置文件备份的方法
2015/07/30 Python
Python脚本获取操作系统版本信息
2016/12/17 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
Django获取应用下的所有models的例子
2019/08/30 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
python tkinter之 复选、文本、下拉的实现
2020/03/04 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
教师专业理论水平的自我评价分享
2013/11/09 职场文书
获奖的大学生创业计划书
2014/01/05 职场文书
文秘档案管理岗位职责
2014/03/06 职场文书
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python