mysql中case使用


前言:遇到這樣一個需求,有一門成績,成績中只記錄了學生的分數,現在需要統計學生的分數等級,100-90分為優秀,90-60分為及格,60-0分為不及格。這個需求就可以用CASE語句來表達。

case語句分為簡單case語句和可搜索case語句。

1.簡單case的語法為

CASE  case_expression
   WHEN when_expression_1 THEN commands
   WHEN when_expression_2 THEN commands
   ...
   ELSE commands
END

這種適合固定的值,比如性別,1男,2女這種

例子:將下圖中sex換成漢字的性別,1男,2女。

SELECT
	*, (
		CASE sex
		WHEN 1 THEN
			'男'
		WHEN 2 THEN
			'女'
		END
	) '性別'
FROM
	`user`

結果如下圖

2.可搜索case語句,這種適應表達式與一組不同的值進行匹配。

語法為

CASE
    WHEN condition_1 THEN commands
    WHEN condition_2 THEN commands
    ...
    ELSE commands
END

例子就是最開始提到的

SELECT
	*,
	(
		CASE 
		WHEN  score>=90 THEN
			'優秀'
		WHEN score>=60 THEN
			'及格'
		ELSE
			'不及格'
		END
	) '等級'
FROM
	math
ORDER BY score DESC

結果如下


免責聲明!

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



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