99久久国产露脸精品麻豆,欧美日韩精品小说,亚洲免费在线美女视频,国产三级中文字幕,91极品国产情侣高潮对白,国产亚洲一区二区三区不卡片,欧美jizz精品欧美性,久久国产精品久久国产片

MySQL 的 CASE WHEN 用法說明

袁志蒙 3306次瀏覽

摘要:MySQL觸發器里的流程控制語句的 CASE WHEN 的語法有兩種:一、簡單函數CASE [col_name] WHEN [value1] THEN [result1] ELSE [default] END舉個例子:...

MySQL觸發器里的流程控制語句的 CASE WHEN 的語法有兩種:

一、簡單函數

CASE [col_name] WHEN [value1] THEN [result1] ELSE [default] END

舉個例子:

SELECT
	`groupid`,
	`status`,
	CASE
		WHEN groupid = '1' THEN '初來乍到'
		WHEN groupid = '2' THEN '新手上路'
		WHEN groupid = '3' THEN '融會貫通'
		ELSE '未知'
	END AS groupname,
	CASE
		WHEN `status` = '1' THEN '正常'
		ELSE '未通過'
	END AS status_name
FROM
	yzm_member
LIMIT 20

二、搜索函數

CASE WHEN [expr] THEN [result1] ELSE [default] END

搜索函數可以寫判斷,并且搜索函數只會返回第一個符合條件的值,符合條件的值也可以是表的字段,其他case被忽略,舉個例子:

SELECT
	`groupid`,
	`status`,
	CASE
		WHEN groupid < '3' THEN '新手'
		ELSE '高級'
	END AS groupname,
	CASE
		WHEN `status` = '1' THEN '正常'
		ELSE '未通過'
	END AS status_name
FROM
	yzm_member
LIMIT 20


搜索函數與聚合函數結合使用,舉個例子:

#1.查詢出每門課程的及格人數和不及格人數

SELECT 課程號,
	sum(case when 成績 >= 60 then 1 else 0 end) as 及格人數,
	sum(case when 成績 < 60 then 1 else 0 end) as 不及格人數
FROM score
	GROUP BY 課程號;


#2.簡單函數,實現行列互換

SELECT 學號, 
	max(case 課程號 when '0001' THEN 成績 else 0 END) as `課程0001`,
	max(case 課程號 when '0002' THEN 成績 else 0 END) as `課程0002`,
	max(case 課程號 when '0003' THEN 成績 else 0 END) as `課程0003`
FROM score
	GROUP BY 學號



隨機內容

表情

共2條評論
  • 網友評論:

    long time no see

    2021-09-19 23:08:46 回復

    點擊加載
  • 網友評論:

    現在是深夜11點,越是夜深人靜的時候,想的越明白,很受用

    2021-09-19 23:06:08 回復

    點擊加載