有一张表T_Scores,记录比赛成绩 sDate sName Score
2008-8-8 拜仁 胜
2008-8-9 奇才 胜
2008-8-9 湖人 胜
2008-8-10 拜仁 负
2008-8-8 拜仁 负
2008-8-12 奇才 胜
要求输出下面的格式:
Name 胜 负
拜仁 1 2
湖人 1 0
奇才 2 0
SELECT sname,
SUM(CASE
WHEN score='胜' THEN 1 ELSE 0 END) AS 胜 ,
SUM(CASE
WHEN score='负' THEN 1 ELSE 0 END) AS 负
FROM test3
GROUP BY sname
这段查询语句中
SUM(CASE
WHEN score='胜' THEN 1 ELSE 0 END) AS 胜 sum函数是如何统计的?原理是怎么实现的? 我是认为当score='负' 的时候在这断代码中sum也会统计可是SQL语句是如何不统计这个呢?
|