/*創建表c1*/ CREATE TABLE c1 ( id INT, sex VARCHAR (10), score INT ); /*插入數據*/ INSERT INTO c1 VALUES (1001, '男' ,65), (1002, '男' ,75), (1003, '女' ,82), (1004, '女' ,70), (1005, '男' ,89), (1006, '女' ,90), (1007, '男' ,85); SELECT * FROM c1;

/*將性別男、女分別用0、1替換*/ SELECT id, CASE WHEN sex = '男' THEN 0 WHEN sex = '女' THEN 1 END sex , score FROM c1;

/*將成績分為小於60 差,60~80 中,80~90良,90以上優*/ SELECT * , CASE WHEN score<60 THEN '差' WHEN score>=60 AND score<80 THEN '中' WHEN score>=80 AND score<90 THEN '良' WHEN score>=90 THEN '優' END level FROM c1;

/*將成績等級分為四列*/ SELECT id, sex,score, CASE WHEN score<60 THEN '差' END AS level1, CASE WHEN score>=60 AND score<80 THEN '中' END AS level2, CASE WHEN score>=80 AND score<90 THEN '良' END AS level3, CASE WHEN score>=90 THEN '優'END AS level4 FROM c1;

/*按照性別計算各成績等級中的數量*/ SELECT sex, SUM(CASE WHEN score<60 THEN 1 ELSE 0 END) AS '差', SUM(CASE WHEN score>=60 AND score<80 THEN 1 ELSE 0 END) AS '中', SUM(CASE WHEN score>=80 AND score<90 THEN 1 ELSE 0 END) AS '良', SUM(CASE WHEN score>=90 THEN 1 ELSE 0 END) AS '優' FROM c1 GROUP BY sex;

