Mysql 按日期统计有条件分组的所有项目
我有一个数据如下Mysql 按日期统计有条件分组的所有项目,mysql,Mysql,我有一个数据如下 | 2015-10-01 00:18:55 | 100021397 | canceled | | 2015-10-01 02:05:16 | 100021398 | processing | | 2015-10-01 02:15:23 | 100021399 | processing | | 2015-10-01 02:17:40 | 100021400 | processing | |
| 2015-10-01 00:18:55 | 100021397 | canceled |
| 2015-10-01 02:05:16 | 100021398 | processing |
| 2015-10-01 02:15:23 | 100021399 | processing |
| 2015-10-01 02:17:40 | 100021400 | processing |
| 2015-10-01 02:28:02 | 100021401 | processing |
| 2015-10-01 02:31:39 | 100021402 | processing |
| 2015-10-01 02:44:13 | 100021403 | canceled |
| 2015-10-02 00:00:35 | 100021519 | canceled |
| 2015-10-02 01:05:22 | 100021520 | processing |
| 2015-10-02 01:06:42 | 100021521 | processing |
我需要的输出分组的日期与格式
Date | Number Of all Item | Number of Item with status not canceled |
2015-10-01 | 7 | 5
2015-10-02 | 3 | 2
创建前两列非常容易,但是第三列有点棘手,请使用SUM()
帮助您可以“计数”布尔表达式的结果(返回0或1,false或true)
SELECT DATE(date), COUNT(DISTINCT item), SUM(status != 'canceled')
FROM your_table
GROUP BY DATE(date);
select
date(`date`) as `date`,
count(*) as `Number Of all Item`,
sum(if(status!='canceled',1,0)) as `Number of Item with status not canceled`
from tbl1 group by date(`date`)