我试图计算不同日期发生的基于严重级别(1-5)的事件数。注:我有另一个表,但严重程度是词(高,中,低…不是1至5)。
db示例:
DATE LEVEL COUNT
---- ----- -----
05/11/2018 3 14
05/11/2018 5 11
05/11/2018 5 11
05/12/2018 3 14
05/12/2018 2 14
05/13/2018 2 11
05/13/2018 1 12
预期产量
Date 1 2 3 4 5
--------- -- -- -- -- --
05/11/2018 0 0 14 0 22
05/12/2018 0 14 14 0 0
05/13/2018 12 11 0 0 0
预期产出2
Level 05/11/2018 05/12/2018 05/13/2018
--------- ---------- ---------- ----------
1 0 0 12
2 0 14 11
3 14 14 0
4 0 0 0
5 22 0 0
我试过了
SELECT CONCAT(DAY(`DATE`) ,MONTH(`DATE`) , YEAR(`DATE`)) AS DDMMYYYY ,
COUNT(DISTINCT LEVEL) as NumCount
FROM `myDatabase`
GROUP BY CONCAT(DAY(`DATE`),MONTH(`DATE`), YEAR(`DATE`) )
但我得到了不同计数的数字。。
任何指导都将不胜感激!谢谢!
1条答案
按热度按时间iszxjhcz1#
在mysql中不能真正实现pivot表。但是,对于固定数量的列(如预期输出#1),可以使用
CASE
报表,例如。输出: