使用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 22 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
Aug 06 PHP
PHP中$_SERVER的详细参数与说明介绍
Oct 26 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
Aug 20 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
PHP使用curl制作简易百度搜索
Nov 03 PHP
php使用PDO执行SQL语句的方法分析
Feb 16 PHP
PHP经典实用正则表达式小结
May 04 PHP
PHP中md5()函数的用法讲解
Mar 30 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
php swoft框架实例用法
Dec 22 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 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
PHP的反射机制实例详解
2017/03/29 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
简述JS控制台的使用
2018/07/15 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
javascript实现超好看的3D烟花特效
2020/01/01 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
Javascript前端下载后台传来的文件流代码实例
2020/08/18 Javascript
PyQt5每天必学之拖放事件
2020/08/27 Python
python实现简单flappy bird
2018/12/24 Python
解决Python使用列表副本的问题
2019/12/19 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
部队党性分析材料
2014/02/16 职场文书
访谈节目策划方案
2014/05/15 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
Python 批量下载阴阳师网站壁纸
2021/05/19 Python
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js