选择不同的行,将它们转换为列并计算值

kfgdxczn  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(331)

从一个表中提取数据有问题。
我有一张表,t\u stat,如下所示:

id, country, instId, date
 1, Belgium,      1, 2014-04-06  
 2, Germany,      2, 2013-05-07  
 3, Italy,        3, 2018-06-08

因此,我需要的是:我需要挑选每一个不同的国家,并计算它在每个日期的安装量。应该是这样的:

Date        Belgium  Germany Italy
2013-05-07  0        1       0
2014-04-06  1        0       0
2018-06-08  0        0       1

我知道,pivot可以实现结果,但我不能构造查询。
提前谢谢。

qzlgjiam

qzlgjiam1#

这应该管用

SELECT
    date,
    SUM( country = 'Belgium' ) AS Belgium,
    SUM( country = 'Germany' ) AS Germany,
    SUM( country = 'Italy' ) AS Italy
FROM t_stat
GROUP BY date

相关问题