group by實例ide
實例一spa
數據表:code
姓名 科目 分數
張三 語文 80
張三 數學 98
張三 英語 65
李四 語文 70
李四 數學 80
李四 英語 90blog
指望查詢結果:數學
姓名 語文 數學 英語
張三 80 98 65
李四 70 80 90it
create table testScore ( tid int primary key identity(1,1), tname varchar(30) null, ttype varchar(10) null, tscor int null ) go ---插入數據 insert into testScore values ('張三','語文',80) insert into testScore values ('張三','數學',98) insert into testScore values ('張三','英語',65) insert into testScore values ('李四','語文',70) insert into testScore values ('李四','數學',80) insert into testScore values ('李四','英語',90) select tname as '姓名' , max(case ttype when '語文' then tscor else 0 end) '語文', max(case ttype when '數學' then tscor else 0 end) '數學', max(case ttype when '英語' then tscor else 0 end) '英語' from testScore group by tname
實例二io
數據表:table
dataStr resultclass
2016-05-09 勝test
2016-05-09 勝
2016-05-09 負
2016-05-10 勝
2016-05-10 負
2016-05-10 負
指望查詢結果:
日期 勝數 負數
2016-05-09 2 1
2016-05-10 1 2
-- ---------------------------- -- Table structure for `score` -- ---------------------------- DROP TABLE IF EXISTS `score`; CREATE TABLE `score` ( `dataStr` varchar(255) DEFAULT NULL, `result` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of score -- ---------------------------- INSERT INTO `score` VALUES ('2016-05-09', '勝'); INSERT INTO `score` VALUES ('2016-05-09', '勝'); INSERT INTO `score` VALUES ('2016-05-09', '負'); INSERT INTO `score` VALUES ('2016-05-10', '勝'); INSERT INTO `score` VALUES ('2016-05-10', '負'); INSERT INTO `score` VALUES ('2016-05-10', '負'); SELECT U.dataStr AS 日期, SUM(result='勝')AS 勝數, SUM(result='負')AS 負數 FROM score AS U WHERE 1=1 GROUP BY dataStr
實例三
數據表國家(country) | 人口(population) |
中國 | 600 |
美國 | 100 |
加拿大 | 100 |
英國 | 200 |
法國 | 300 |
日本 | 250 |
德國 | 200 |
墨西哥 | 50 |
印度 | 250 |
洲 | 人口 |
亞洲 | 1100 |
北美洲 | 250 |
其餘 | 700 |
SELECT SUM(population), CASE country WHEN '中國' THEN '亞洲' WHEN '印度' THEN '亞洲' WHEN '日本' THEN '亞洲' WHEN '美國' THEN '北美洲' WHEN '加拿大' THEN '北美洲' WHEN '墨西哥' THEN '北美洲' ELSE '其餘' END FROM Table_A GROUP BY CASE country WHEN '中國' THEN '亞洲' WHEN '印度' THEN '亞洲' WHEN '日本' THEN '亞洲' WHEN '美國' THEN '北美洲' WHEN '加拿大' THEN '北美洲' WHEN '墨西哥' THEN '北美洲' ELSE '其餘' END;