使用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+javascript液晶时钟
Oct 09 PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
Mar 01 PHP
php class类的用法详细总结
Oct 17 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
PHP提交表单失败后如何保留已经填写的信息
Jun 20 PHP
PHP连接操作access数据库实例
Mar 30 PHP
Yii中Model(模型)的创建及使用方法
Dec 28 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
Apr 19 PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 PHP
通过PHP设置BugFree获取邮箱通知
Apr 25 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 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
基于php冒泡排序算法的深入理解
2013/06/09 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
CI框架验证码CAPTCHA辅助函数用法实例
2014/11/05 PHP
smarty内置函数section的用法
2015/01/22 PHP
关于递归运算的顺序测试代码
2011/11/30 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
js实现文本上下来回滚动
2017/02/03 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
SEPHORA丝芙兰捷克官网:购买香水、化妆品和护肤品
2018/11/26 全球购物
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
Shell编程面试题
2016/05/29 面试题
装饰活动策划方案
2014/02/11 职场文书
学徒工职责
2014/03/06 职场文书
媒矿安全生产承诺书
2014/05/23 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
2015年消防工作总结
2015/04/24 职场文书
导游词之山东八大关
2019/12/18 职场文书
python编写五子棋游戏
2021/05/25 Python