MySQL case


/*創建表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;

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM