日期:2014-05-17  浏览次数:20487 次

求一条查询语句
数据表 

ID  名称   数量   质量 
1   苹果    10    1
2   苹果    5     2
3   苹果    8     3
4   苹果    20    1
5   橘子    15    1
6   橘子    5     2
7   橘子    10    3
7   橘子    8     1


SELECT SUM(数量) As 数量 FROM  水果表  GROUP BY 名称

我想要的效果是

质量 1的 有多少 质量 2的有多少  质量3的有多少

怎么统计啊?


------解决方案--------------------
SELECT SUM(数量) As 数量 FROM  水果表  GROUP BY 名称, 质量 
------解决方案--------------------
SELECT SUM(数量) As 数量 FROM  水果表 where 质量 in(1,2) GROUP BY 名称, 质量
------解决方案--------------------
SELECT  名称 ,
        SUM(CASE WHEN 质量 = 1 THEN 数量
                 ELSE 0
            END) AS [质量1的数量] ,
        SUM(CASE WHEN 质量 = 2 THEN 数量
                 ELSE 0
            END) AS [质量2的数量] ,
        SUM(CASE WHEN 质量 = 3 THEN 数量
                 ELSE 0
            END) AS [质量3的数量]
FROM    tb
GROUP BY 名称