每日按类别计算

时间:2015-02-20 05:54:01

标签: mysql

我有以下两个表,分类和销售。我想每天计算每个类别的数量。

类别表

id cat_name
01 A
02 B
03 C

销售表

date          cat_id
2015/02/01    01
2015/02/01    01
2015/02/01    03
2015/02/02    02
2015/02/02    03
2015/02/02    03
2015/02/03    01
2015/02/03    02
2015/02/03    02

结果

date          A     B     C
2015/02/01    2     0     1
2015/02/02    0     1     2
2015/02/03    1     2     0

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

<强>查询

SELECT s.`date`,
COUNT(CASE WHEN s.cat_id=01 THEN cat_id END) AS A,
COUNT(CASE WHEN s.cat_id=02 THEN cat_id END) AS B,
COUNT(CASE WHEN s.cat_id=03 THEN cat_id END) AS C
FROM sales s
JOIN category c
ON s.cat_id=c.id
GROUP BY s.`date`;

Fiddle demo