使用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自动给文章加关键词链接的函数代码
Nov 29 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
php如何解决无法上传大于8M的文件问题
Mar 10 PHP
PHP中返回引用类型的方法
Apr 03 PHP
微信公众平台实现获取用户OpenID的方法
Apr 15 PHP
Joomla简单判断用户是否登录的方法
May 04 PHP
Thinkphp框架开发移动端接口(1)
Aug 18 PHP
php mysql实现mysql_select_db选择数据库
Dec 30 PHP
laravel-admin的多级联动方法
Sep 30 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
Oct 21 PHP
在laravel中实现ORM模型使用第二个数据库设置
Oct 24 PHP
PHP加MySQL消息队列深入理解
Feb 27 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中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
js校验表单后提交表单的三种方法总结
2014/02/28 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
微信小程序实现选项卡效果
2018/11/06 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
vue项目使用.env文件配置全局环境变量的方法
2019/10/24 Javascript
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
可能这些是你想要的H5软键盘兼容方案(小结)
2019/04/23 HTML / CSS
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
读书月活动方案
2014/05/22 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
争先创优演讲稿
2014/09/15 职场文书
KTV员工管理制度
2015/08/06 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
python使用pymysql模块操作MySQL
2021/06/16 Python
24年收藏2000多部退役军用电台
2022/02/18 无线电