国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SQL之CASE WHEN函數(shù)語(yǔ)句多條件下使用詳解

這篇具有很好參考價(jià)值的文章主要介紹了SQL之CASE WHEN函數(shù)語(yǔ)句多條件下使用詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

針對(duì)CASE WHEN函數(shù)語(yǔ)句,實(shí)現(xiàn)簡(jiǎn)單CASE函數(shù)和CASE搜索函數(shù)兩種格式。
同時(shí)配合 SUM以及COUNT方法的使用

1、CASE 的兩種格式:?簡(jiǎn)單CASE函數(shù)和CASE搜索函數(shù)

**簡(jiǎn)單CASE函數(shù)**
CASE 條件參數(shù)名稱
    WHEN 參數(shù)值1 THEN '顯示值1'
    WHEN 參數(shù)值2 THEN '顯示值2'
    ...
ELSE '顯示其他值' END

**CASE搜索函數(shù)**
CASE 
    WHEN 條件參數(shù)名稱 = '參數(shù)值1' THEN '顯示值1'
    WHEN 條件參數(shù)名稱 = '參數(shù)值2' THEN '顯示值2'
    ...
ELSE '顯示其他值' END

兩種格式示例:
狀態(tài):state
訂單號(hào):orderId

**簡(jiǎn)單CASE函數(shù)**
SELECT
	orderId,
	CASE state
	    WHEN 1 THEN '啟動(dòng)'
	    WHEN 2 THEN '關(guān)閉'
	ELSE '未知狀態(tài)' END AS statusName
FROM t_table

**CASE搜索函數(shù)**
SELECT
	orderId,
	CASE 
	    WHEN state = '1' THEN '啟動(dòng)'
	    WHEN state = '2' THEN '關(guān)閉'
	ELSE '未知狀態(tài)' END AS stateName
FROM t_table

這兩種格式式,可以實(shí)現(xiàn)相同的功能。但是簡(jiǎn)單CASE函數(shù)和CASE搜索函數(shù)相比,功能方面會(huì)有些限制,比如寫(xiě)判斷式:

SELECT
	orderId,
	CASE 
	    WHEN state = '1' THEN '啟動(dòng)'
	    WHEN state = '2' THEN '關(guān)閉'
	    WHEN state IN ('3', '4') THEN '待解鎖'
	ELSE '未知狀態(tài)' END AS stateName
FROM t_table

若是多重時(shí),WHEN 的 IN 條件中的值和下一個(gè) WHEN 的條件重合會(huì)被忽略,如下面的 “關(guān)閉” 狀態(tài)會(huì)被忽略,永遠(yuǎn)無(wú)法得到 “關(guān)閉”

SELECT
	orderId,
	CASE 
	    WHEN state = '1' THEN '啟動(dòng)'
	    WHEN state IN ('2', '3', '4') THEN '待解鎖'
	    WHEN state = '2' THEN '關(guān)閉'
	ELSE '未知狀態(tài)' END AS stateName
FROM t_table

2、同時(shí)配合 SUM以及COUNT方法的使用

(1)SUM函數(shù)

**簡(jiǎn)單CASE函數(shù)**
SUM(CASE 條件參數(shù)名稱
    	WHEN 參數(shù)值 THEN '顯示被求和值'
	ELSE 0 END
	) AS SUMAMT

**CASE搜索函數(shù)**
SUM(CASE 
    	WHEN 條件參數(shù)名稱 = '參數(shù)值' THEN '顯示被求和值'
	ELSE 0 END
	) AS SUMAMT

**或者**	
SUM(CASE 
    	WHEN 
    		條件參數(shù)名稱1 = '參數(shù)值1' AND 條件參數(shù)名稱2 = '參數(shù)值2' ...
    	THEN '顯示被求和值'
	ELSE 0 END
	) AS SUMAMT
	
**或者**	
SUM(CASE 
    	WHEN 
    		條件參數(shù)名稱1 IN ('參數(shù)值n') AND 條件參數(shù)名稱2 = '參數(shù)值2' ...
    	THEN '顯示被求和值'
	ELSE 0 END
	) AS SUMAMT

示例:?根據(jù)時(shí)間條件查詢值,有值時(shí)顯示 “被求和值”, 沒(méi)有值時(shí),顯示 “null”
狀態(tài):state
類型:t_type
金額:amt

**簡(jiǎn)單CASE函數(shù)**
SELECT
	SUM(CASE state
	    WHEN 1 THEN amt
	ELSE 0 END 
	) AS sumAmt
FROM 
	t_table
WHERE
	core_time >= '2020-07-01 00:00:00'
AND core_time <= '2020-07-20 23:59:59'
GROUP BY core_time

**CASE搜索函數(shù)**
SELECT
	SUM(CASE 
	    WHEN state = '1' THEN amt
	ELSE 0 END 
	) AS sumAmt
FROM 
	t_table
WHERE
	core_time >= '2020-07-01 00:00:00'
AND core_time <= '2020-07-20 23:59:59'
GROUP BY core_time

**或者**
SELECT
	SUM(CASE 
	    WHEN state = '1' AND t_type = '2' THEN amt
	ELSE 0 END 
	) AS sumAmt
FROM 
	t_table
WHERE
	core_time >= '2020-07-01 00:00:00'
AND core_time <= '2020-07-20 23:59:59'
GROUP BY core_time

**或者**
SELECT
	SUM(CASE 
	    WHEN state IN ('2', '3', '4') AND t_type = '2' THEN amt
	ELSE 0 END 
	) AS sumAmt
FROM 
	t_table
WHERE
	core_time >= '2020-07-01 00:00:00'
AND core_time <= '2020-07-20 23:59:59'
GROUP BY core_time

(2)COUNT函數(shù)

**簡(jiǎn)單CASE函數(shù)**
COUNT(CASE 條件參數(shù)名稱
    	WHEN 參數(shù)值 THEN 1
	ELSE 0 END
	) AS COUNTAMT

**CASE搜索函數(shù)**
COUNT(CASE 
    	WHEN 條件參數(shù)名稱 = '參數(shù)值' THEN 1
	ELSE 0 END
	) AS COUNTAMT

**或者**	
COUNT(CASE 
    	WHEN 
    		條件參數(shù)名稱1 = '參數(shù)值1' AND 條件參數(shù)名稱2 = '參數(shù)值2' ...
    	THEN 1
	ELSE 0 END
	) AS COUNTAMT
	
**或者**	
COUNT(CASE 
    	WHEN 
    		條件參數(shù)名稱1 IN ('參數(shù)值n') AND 條件參數(shù)名稱2 = '參數(shù)值2' ...
    	THEN 1
	ELSE 0 END
	) AS COUNTAMT

示例:?根據(jù)時(shí)間條件查詢值,有值時(shí)顯示 “總條數(shù)值”, 沒(méi)有值時(shí),顯示 “0”
狀態(tài):state
類型:t_type
金額:amt文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-516209.html

**簡(jiǎn)單CASE函數(shù)**
SELECT
	COUNT(CASE state
	    WHEN 1 THEN 1
	ELSE 0 END 
	) AS countAmt
FROM 
	t_table
WHERE
	core_time >= '2020-07-01 00:00:00'
AND core_time <= '2020-07-20 23:59:59'
GROUP BY core_time

**CASE搜索函數(shù)**
SELECT
	COUNT(CASE 
	    WHEN state = '1' THEN 1
	ELSE 0 END 
	) AS countAmt
FROM 
	t_table
WHERE
	core_time >= '2020-07-01 00:00:00'
AND core_time <= '2020-07-20 23:59:59'
GROUP BY core_time

**或者**
SELECT
	COUNT(CASE 
	    WHEN state = '1' AND t_type = '2' THEN 1
	ELSE 0 END 
	) AS countAmt
FROM 
	t_table
WHERE
	core_time >= '2020-07-01 00:00:00'
AND core_time <= '2020-07-20 23:59:59'
GROUP BY core_time

**或者**
SELECT
	COUNT(CASE 
	    WHEN state IN ('2', '3', '4') AND t_type = '2' THEN 1
	ELSE 0 END 
	) AS countAmt
FROM 
	t_table
WHERE
	core_time >= '2020-07-01 00:00:00'
AND core_time <= '2020-07-20 23:59:59'
GROUP BY core_time

到了這里,關(guān)于SQL之CASE WHEN函數(shù)語(yǔ)句多條件下使用詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SQL中case when用法詳解及使用案例

    SQL中case when用法詳解及使用案例

    Case具有兩種格式。簡(jiǎn)單Case函數(shù)和Case搜索函數(shù)。 簡(jiǎn)單Case函數(shù)格式: Case搜索函數(shù): case when與子查詢性能比較及優(yōu)化。 為了方便說(shuō)明,我們先創(chuàng)建表,并造點(diǎn)數(shù)據(jù)。 統(tǒng)計(jì)亞洲和北美洲的人口數(shù)量,要求結(jié)果如下: 若第一時(shí)間沒(méi)有想到case when,我們可能會(huì)寫(xiě)出下面的sql: 運(yùn)行

    2024年02月15日
    瀏覽(24)
  • SQL中的CASE WHEN語(yǔ)句:從基礎(chǔ)到高級(jí)應(yīng)用指南

    我們使用一個(gè)名為\\\"Products\\\"的表,包含以下列:ProductID、ProductName、CategoryID、UnitPrice、StockQuantity。 示例展示 productID productName categoryID unitPrice stockQuantity 1 Laptop 1 800 50 2 Smartphone 1 500 100 3 T-shirt 2 20 200 4 Jeans 2 40 150 5 Headphones 1 100 75 1. CASE WHEN-基本使用 查詢結(jié)果: ProductName UnitPric

    2024年02月09日
    瀏覽(24)
  • SQL的CASE WHEN函數(shù)、CAST函數(shù)、CONVERT() 函數(shù)、COALESCE()函數(shù)、DATEDIFF()函數(shù)

    一、CASE WHEN簡(jiǎn)單使用 二、CASE WHEN語(yǔ)句與聚合函數(shù)一起使用 三、CAST函數(shù) 用于將某種數(shù)據(jù)類型的表達(dá)式顯式轉(zhuǎn)換為另一種數(shù)據(jù)類型。CAST()函數(shù)的參數(shù)是一個(gè)表達(dá)式,它包括用AS分隔的源值和目標(biāo)數(shù)據(jù)類型。 可以轉(zhuǎn)換的類型是有限制的。這個(gè)類型可以是以下值其中的一個(gè):

    2024年02月07日
    瀏覽(19)
  • SQL SERVER case when的使用方法

    SQL SERVER case when的使用方法

    一、case when的使用方法 Case具有兩種格式。簡(jiǎn)單Case函數(shù)和Case搜索函數(shù)。 第一種 格式 : 簡(jiǎn)單Case函數(shù) : 格式說(shuō)明 case 列名 when 條件值1 then 選項(xiàng)1 when 條件值2 then 選項(xiàng)2… else 默認(rèn)值 end eg: select case job_level when ‘1’ then ‘1111’ when ‘2’ then ‘1111’ when ‘3’ then ‘1111’ else ‘e

    2024年02月13日
    瀏覽(36)
  • Mybatis 常用條件語(yǔ)句,大于小于、if、for、模糊搜索、case when、choose

    Mybatis 常用條件語(yǔ)句,大于小于、if、for、模糊搜索、case when、choose

    目錄 大于小于 if 條件判斷? for循環(huán) LIKE?模糊搜索 case when choose選擇語(yǔ)句 前言-與正文無(wú)關(guān) ????????生活遠(yuǎn)不止眼前的苦勞與奔波,它還充滿了無(wú)數(shù)值得我們?nèi)ンw驗(yàn)和珍惜的美好事物。在這個(gè)快節(jié)奏的世界中,我們往往容易陷入工作的漩渦,忘記了停下腳步,感受周圍的世

    2024年02月01日
    瀏覽(27)
  • hive SQL: case when + group by 的用法

    假設(shè)有一個(gè)數(shù)據(jù)表,包含了不同人員的信息,其中包括姓名、性別、年齡等字段?,F(xiàn)在需要統(tǒng)計(jì)不同年齡區(qū)間的人數(shù),并按照年齡區(qū)間進(jìn)行分組??梢允褂萌缦?SQL 語(yǔ)句實(shí)現(xiàn): ``` SELECT? ? CASE? ? ? WHEN age BETWEEN 0 AND 10 THEN \\\'0-10\\\'? ? ? WHEN age BETWEEN 11 AND 20 THEN \\\'11-20\\\'? ? ? WHEN a

    2024年02月08日
    瀏覽(74)
  • SQL 數(shù)據(jù)操作技巧:SELECT INTO、INSERT INTO SELECT 和 CASE 語(yǔ)句詳解

    SQL 數(shù)據(jù)操作技巧:SELECT INTO、INSERT INTO SELECT 和 CASE 語(yǔ)句詳解

    SELECT INTO 語(yǔ)句將數(shù)據(jù)從一個(gè)表復(fù)制到一個(gè)新表中。 新表將按照在舊表中定義的列名和類型創(chuàng)建。您可以使用 AS 子句創(chuàng)建新的列名。 以下 SQL 語(yǔ)句創(chuàng)建 Customers 的備份副本: 以下 SQL 語(yǔ)句使用 IN 子句將表復(fù)制到另一個(gè)數(shù)據(jù)庫(kù)中的新表中: 以下 SQL 語(yǔ)句僅復(fù)制一些列到新表中:

    2024年02月05日
    瀏覽(31)
  • 理解case when then else end 的使用,基礎(chǔ)概念,建表語(yǔ)句,用例講解

    理解case when then else end 的使用,基礎(chǔ)概念,建表語(yǔ)句,用例講解

    case :表示需要處理的字段 when :表示條件 then :表示當(dāng)when執(zhí)行為true時(shí),再執(zhí)行的語(yǔ)句 else :表示當(dāng)所有的when執(zhí)行為false時(shí),再執(zhí)行的語(yǔ)句 end:表示 case 語(yǔ)句結(jié)束的結(jié)尾 圖形化表格 執(zhí)行sql語(yǔ)句 結(jié)果 講解:進(jìn)行匹配的是名字name,首先匹配第一行,name是等于張三,所以返回

    2024年02月08日
    瀏覽(27)
  • case when then else end語(yǔ)句的用法

    case when then else end語(yǔ)句的用法

    case具有兩種格式。簡(jiǎn)單case函數(shù)和case搜索函數(shù)。 --簡(jiǎn)單case函數(shù) ????????????case?sex ????????????when?\\\'1\\\'?then?\\\'男\(zhòng)\\' ????????????when?\\\'2\\\'?then?\\\'女\\\' ????????????else?\\\'其他\\\'?end ?--case搜索函數(shù)--經(jīng)常用的是這個(gè) ????????????case?when?sex =?\\\'1\\\'?then?\\\'男\(zhòng)\\' ?

    2024年02月10日
    瀏覽(26)
  • Django筆記二十三之case、when操作條件表達(dá)式搜索、更新等操作

    Django筆記二十三之case、when操作條件表達(dá)式搜索、更新等操作

    本文首發(fā)于公眾號(hào):Hunter后端 原文鏈接:Django筆記二十三之條件表達(dá)式搜索、更新等操作 這一篇筆記將介紹條件表達(dá)式,就是如何在 model 的使用中根據(jù)不同的條件篩選數(shù)據(jù)返回。 這個(gè)操作類似于數(shù)據(jù)庫(kù)中 if elif else 的邏輯。 以下是本篇筆記的目錄: model 和數(shù)據(jù)準(zhǔn)備 When 和

    2023年04月13日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包