使用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 相关文章推荐
打造计数器DIY三步曲(中)
Oct 09 PHP
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 PHP
php中防止SQL注入的最佳解决方法
Apr 25 PHP
PHP中鲜为人知的10个函数
Feb 28 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
Nov 30 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
php实现的二分查找算法示例
Jun 20 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
Jul 27 PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 PHP
php根据命令行参数生成配置文件详解
Mar 15 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
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
php微信公众号开发(3)php实现简单微信文本通讯
2016/12/15 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
php实现的顺序线性表示例
2019/05/04 PHP
Dom操作之兼容技巧分享
2011/09/20 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
js比较日期大小的方法
2015/05/12 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
js异步编程小技巧详解
2017/08/14 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
Python 字符串定义
2009/09/25 Python
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
详解python之配置日志的几种方式
2017/05/22 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
Python实现常见的回文字符串算法
2018/11/14 Python
Python range与enumerate函数区别解析
2020/02/28 Python
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
2015年幼儿园毕业感言
2014/02/12 职场文书
家长对孩子的感言
2014/03/10 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
2014年社区工作总结
2014/11/18 职场文书
数学备课组工作总结
2015/08/12 职场文书
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫