使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT

 更新时间:2011年04月23日 22:38:19   作者:  
在有group by的时候,如何统计结果记录的数量?需要的朋友可以参考下。
例如这样一个表,我想统计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面向对象程序设计之构造方法和析构方法详解

    这篇文章主要介绍了PHP面向对象程序设计之构造方法和析构方法,结合具体实例形式详细分析了php面向对象程序设计中构造方法和析构方法的相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2019-06-06
  • php生成图片缩略图功能示例

    php生成图片缩略图功能示例

    这篇文章主要介绍了php生成图片缩略图功能,结合完整实例形式分析了php缩略图生成的详细步骤与相关实现技巧,需要的朋友可以参考下
    2017-02-02
  • php简单判断文本编码的方法

    php简单判断文本编码的方法

    这篇文章主要介绍了php简单判断文本编码的方法,涉及php数组及iconv方法的相关使用技巧,非常简单实用,需要的朋友可以参考下
    2015-07-07
  • windows下安装php的memcache模块的方法

    windows下安装php的memcache模块的方法

    这篇文章主要介绍了windows下安装php_memcache模块的方法,十分详细,也非常简单,这里推荐给有需要的小伙伴参考下
    2015-04-04
  • PHP数组的内部实现你了解吗

    PHP数组的内部实现你了解吗

    这篇文章主要为大家详细介绍了PHP数组的内部实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Memcached常用命令以及使用说明详解

    Memcached常用命令以及使用说明详解

    Memcached常用命令以及使用说明详解
    2013-06-06
  • PHP Wrapper在SAE上的应用方法

    PHP Wrapper在SAE上的应用方法

    这篇文章主要介绍了PHP Wrapper在SAE上的应用方法,详细介绍了PHP Wrapper的功能、定义与使用技巧,进一步分析了在新浪SAE平台上进行文件写操作的具体实现技巧,需要的朋友可以参考下
    2016-05-05
  • 浅谈Laravel中如何对大文件进行加密

    浅谈Laravel中如何对大文件进行加密

    在Laravel项目中,用户可以上传任何大小的文件,出于安全目的,需要对这些文件进行静态加密。Laravel提供encryption, 但它们主要用于加密值。 使用encrypt助手方法对像图像文件进行加密可以很好地工作,文件内容需要加载到内存中,对于大文件来说是个问题。
    2021-05-05
  • PHP简单实现欧拉函数Euler功能示例

    PHP简单实现欧拉函数Euler功能示例

    这篇文章主要介绍了PHP简单实现欧拉函数Euler功能,简单说明了欧拉函数的概念、原理,并结合实例形式分析了php实现欧拉函数的相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • 浅谈php7的重大新特性

    浅谈php7的重大新特性

    PHP7将在2015年10月正式发布,PHP7 ,将会是PHP脚本语言的重大版本更新,同时将带来大幅的性能改进和新的特性,以及改进一些过时功能。 该 发布版本将会专注在性能加强,源自PHP版本树中的phpng分支。
    2015-10-10

最新评论