使用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写的采集程序
Mar 16 PHP
php cookie 作用范围?不要在当前页面使用你的cookie
Mar 24 PHP
url decode problem 解决方法
Dec 26 PHP
探讨多键值cookie(php中cookie存取数组)的详解
Jun 06 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
php+highchats生成动态统计图
May 21 PHP
PHP CURL 多线程操作代码实例
May 13 PHP
thinkphp3.x中display方法及show方法的用法实例
May 19 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
Dec 29 PHP
php二维码生成以及下载实现
Sep 28 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
Sep 29 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 学习提高路线分享
2011/10/23 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
21个值得收藏的Javascript技巧
2014/02/04 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
整理一些最近经常遇到的前端面试题
2017/04/25 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
python正则表达式抓取成语网站
2013/11/20 Python
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
玩转python爬虫之cookie使用方法
2016/02/17 Python
python opencv之分水岭算法示例
2018/02/24 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
python机器人运动范围问题的解答
2019/04/29 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
如何利用python读取micaps文件详解
2020/10/18 Python
css3通过scale()、rotate()实现放大、旋转
2020/03/19 HTML / CSS
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
小班重阳节活动方案
2014/02/08 职场文书
个人工作表现评语
2014/04/30 职场文书
篮球比赛口号
2014/06/10 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
银行转正自我鉴定
2014/09/29 职场文书
教师工作总结范文2014
2014/11/10 职场文书
2014年电教工作总结
2014/12/19 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
tree shaking对打包体积优化及作用
2022/07/07 Java/Android