黑马程序员技术交流社区
标题:
SQL中sum语句原理?
[打印本页]
作者:
林其响
时间:
2012-4-17 09:39
标题:
SQL中sum语句原理?
有一张表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语句是如何不统计这个呢?
作者:
孙杰
时间:
2012-4-17 09:41
SUM(CASE
WHEN score='胜' THEN 1 ELSE 0 END) AS
当胜的时候 得到的结果是1 当负时候得到结果是0
X+0还不是等于X吗
所以他只是记录胜时候的次数
作者:
周俊辉
时间:
2012-4-18 09:50
就是 Score 为 胜 的个数和。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2