Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
总计数和其中条件为true的计数的SQL_Sql_Mysql_Count - Fatal编程技术网

总计数和其中条件为true的计数的SQL

总计数和其中条件为true的计数的SQL,sql,mysql,count,Sql,Mysql,Count,我有一个单用户表,我试图提出一个查询,返回按日期分组的所有用户的总数,以及按日期分组的特定客户端用户的总数 到目前为止,我得到的是按日期分组的用户总数,但似乎不知道如何获得user.client_id=x的用户数 SELECT user.created, COUNT(user.id) AS overall_count FROM user GROUP BY DATE(user.created) 正在尝试这样的行结果: [created] => 2010-05-15 19:59:30 [ov

我有一个单用户表,我试图提出一个查询,返回按日期分组的所有用户的总数,以及按日期分组的特定客户端用户的总数

到目前为止,我得到的是按日期分组的用户总数,但似乎不知道如何获得user.client_id=x的用户数

SELECT user.created,
COUNT(user.id) AS overall_count
FROM user
GROUP BY DATE(user.created)
正在尝试这样的行结果:

[created] => 2010-05-15 19:59:30
[overall_count] => 10
[client_count] => (some fraction of overall count, the number of users where 
                   user.client_id = x grouped by date)

这对MySQL来说应该可以做到:

SELECT
  user.created,
  COUNT(user.id) AS overall_count,
  SUM(user.client_id = x) AS client_count
FROM user
GROUP BY DATE(user.created)
布尔表达式
user.client_id=x
如果为真,则返回
1
,如果为非真,则返回
0
,因此您可以将它们相加


使用另一个数据库,您可以

SUM( CASE WHEN user.client_id = x THEN 1 ELSE 0 END ) AS client_count