首页 java数据 MySQL的group by 语句中,能否对count的元素进行筛选,在count(1)的同时,也对某个字段count符合条件的数量

MySQL的group by 语句中,能否对count的元素进行筛选,在count(1)的同时,也对某个字段count符合条件的数量

作者:知乎用户 链接:https://www.zhihu.com/question/22191084/answer/15…

作者:知乎用户
链接:https://www.zhihu.com/question/22191084/answer/150687850
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

用三种方法实现:

1、select sid ,count(1) ,sum(case when type > 0 then 1 else 0 end) from t_170309 group by sid

其实你自己的理解最接近于这个case when的语法

2、简洁的语法,可用count(condition or null)

select sid ,count(1) ,count(type>0 or null) from t_170309 group by sid;

3、避开count,用sum(if(condition,value1,value2))来实现

if函数是指,如果条件成立则返回value1,否则value2,所以这个思路类似于方法1

select sid ,count(1) ,sum(if(type>0 ,1,0 )) from t_170309 group by sid

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

mysql  优化提升

mysql 优化提升

desc  分别使用DESCRIBE和DESC查看表tb dept1和表tb emp1的表结构。 查看表详细结构语句SH...
navicat 能打开root链接不知道密码直接修改mysql 密码

navicat 能打开root链接不知道密码直接修改mysql 密码

找到系统自带 mysql 数据库   update user set password= password(&...
Cannot access aliyunmaven ( xxx ) in offline mode and the artifact

Cannot access aliyunmaven ( xxx ) in offline mode and the artifact

Cannot access aliyunmaven ( xxx ) in offline mode and the ar...
mysql 基础入门

mysql 基础入门

第一章 SQL的介绍 1.1什么是sql SQL:Structure Query Language。(结构化查询语言),...
You can’t specify target table ‘caiji_data_meiwen’ for update in FROM clause

You can’t specify target table ‘caiji_data_meiwen’ for update in FROM clause

  mysql 中不能自己 引用本身 要再加一层 不行 DELETE from `caiji_data_mei...
返回顶部