2012-07-25 55 views
0

我需要一个报告,列中有不同值的计数,按日期分组,每个日期有一个输出行。如何获得同一行上不同值的计数?

表格列是日期,位置ID(var)和评分(var)。评分只能有四个值中的一个,'A','B','C'或空/空白。我可以用此选择每个日期的每个值获得一行,但是如何获得同一行上所有四个值的计数,对于每个日期?

SELECT date, rating, count(rating) AS ratings 
FROM table 
GROUP BY date, rating 

回答

2

使用SUM用布尔如下:

SELECT 
    date, 
    SUM(rating = 'A') AS count_A, 
    SUM(rating = 'B') AS count_B, 
    SUM(rating = 'C') AS count_C, 
    SUM(rating = '' OR rating IS NULL) AS count_blank 
FROM yourtable 
GROUP BY date 
相关问题