首页 文章

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

提问于
浏览 1972
0

我从一个表中提取数据时遇到问题 .

我有一个表t_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实现,但是我不能构造查询 .

提前致谢 .

1 回答

  • 0

    这应该工作

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

相关问题