使用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 相关文章推荐
PHP4 与 MySQL 交互使用
Oct 09 PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 PHP
如何在smarty中增加类似foreach的功能自动加载数据
Jun 26 PHP
php中json_encode UTF-8中文乱码的更好解决方法
Sep 28 PHP
深入理解PHP变量的值类型和引用类型
Oct 21 PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 26 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
Yii1.1框架实现PHP极光推送消息通知功能
Sep 06 PHP
php获取微信openid方法总结
Oct 10 PHP
phpstudy后门rce批量利用脚本的实现
Dec 12 PHP
一文看懂PHP进程管理器php-fpm
Jun 01 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开发GUI
2006/10/09 PHP
在Yii框架中使用PHP模板引擎Twig的例子
2014/06/13 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
prototype1.4中文手册
2006/09/22 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
vue.js仿hover效果的实现方法示例
2019/01/28 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
Python编写百度贴吧的简单爬虫
2015/04/02 Python
python集合用法实例分析
2015/05/30 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
解决python3 网络请求路径包含中文的问题
2018/05/10 Python
python散点图实例之随机漫步
2018/08/27 Python
Python TCP通信客户端服务端代码实例
2019/11/21 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
阿玛尼美妆英国官网:Giorgio Armani Beauty英国
2019/03/28 全球购物
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
神路信息Java面试题目
2013/03/31 面试题
EJB3.1都有哪些改进
2012/11/17 面试题
报考公务员诚信承诺书
2014/08/29 职场文书
2014年销售工作总结
2014/12/01 职场文书
医学生自荐信范文
2015/03/05 职场文书
2014年个人年终总结
2015/03/09 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书