1. 程式人生 > >SQL利用Case When Then 詳細用法介紹

SQL利用Case When Then 詳細用法介紹

SQL利用Case When Then多條件判斷

第一種用法

用一個SQL語句完成不同條件的分組。這是一種用法 抄別人的  合組合函式一起使用

有如下資料
國家(country) 性別(sex) 人口(population)
中國 1 340
中國 2 260
美國 1 45
美國 2 55
加拿大 1 51
加拿大 2 49
英國 1 40
英國 2 60

按照國家和性別進行分組,得出結果如下
國家 男 女
中國 340 260
美國 45 55
加拿大 51 49
英國 40 60

普通情況下,用UNION也可以實現用一條語句進行查詢。但是那樣增加消耗(兩個Select部分),而且SQL語句會比較長。
下面是一個是用Case函式來完成這個功能的例子
SELECT country,
       SUM( CASE WHEN sex = '1' THEN
                      population ELSE 0 END),  --男性人口
       SUM( CASE WHEN sex = '2' THEN
                      population ELSE 0 END)   --女性人口
FROM  Table_A
GROUP BY country;

這樣我們使用Select,完成對二維表的輸出形式,充分顯示了Case函式的強大。

  SUM( CASE WHEN sex = '1' THEN  population ELSE 0 END),

求合   取sex = "1" 的 population 的 SUM合  否則 取 0 結束

SUM 求和

CASE WHEN 條件就像where 之後一樣的寫法

THEN 取誰

(ELSE 否則取在這裡沒什麼用  因為 你不會說匹配不到 A列就去匹配 B列

END 結束

第二種用法

SELECT
    id,
    NAME,
    cj,
    (        判斷 cj  
        CASE
        WHEN cj < 60 THEN    返回'不及格'
            '不及格'
        WHEN cj BETWEEN 60  返回'良好'

        AND 90 THEN
            '良好'
        WHEN cj > 90 THEN  返回'優秀'
            '優秀'
        END
    ) AS 狀態 返回名稱是狀態
FROM
    stud
<select id="updateDayTotalPointAndBalance" resultType="java.util.HashMap" parameterType="java.util.HashMap" >
SELECT
    SUM(case  when type = 1  then total end) as dailyRechargeBalanceSum,
    SUM
(case when type = 2 then total end) as dailyConsumptionBalanceSum from `transaction` where card_id = 1718878536 AND created LIKE "2018-07-13%" </select>
Map<String,Orders> paramMap = new HashMap<>();
paramMap = transactionDao.updateDayTotalPointAndBalance(paramMap);




相關推薦

SQL利用Case When Then 詳細用法介紹

SQL利用Case When Then多條件判斷第一種用法 用一個SQL語句完成不同條件的分組。這是一種用法 抄別人的  合組合函式一起使用有如下資料國家(country) 性別(sex) 人口(population)中國 1 340中國 2 260美國 1 45美國 2 5

SQL利用Case When Then多條件

sum mage 需要 而且 例如 user 英國 根據 來看 CASE WHEN 條件1 THEN 結果1 WHEN 條件2 THEN 結果2 WHEN 條件3 THEN 結果3 WHEN 條件4 THEN 結果4......... WHEN

SQL case when then end根據某列資料內容在新列顯示自定義內容 SQL利用Case When Then多條件判斷SQL 語句

select ID,Username,namer=(case when(score<='50') then '實習' when(score>'50' and score<='500' ) then

SQL利用Case When Then多條件判斷

CASE    WHEN 條件1 THEN 結果1    WHEN 條件2 THEN 結果2    WHEN 條件3 THEN 結果3    WHEN 條件4 THEN 結果4.........    WHEN 條件N THEN 結果N    ELSE 結果XEND Case

2、SQL Server:SQL利用Case When Then多條件判斷SQL 語句

第一種:select  ID,(case when 條件一  and 條件二  then 0  when 條件三  and  條件四  then  1 else 2 end) as  count,name  from  tablename

SQL利用Case When Then Else End 多條件判斷

  Select Case     When a is not null then a     When b is not null then b     When c is not null then c     When d is not null then d    

SQL利用Case When Then和access 利用iif多條件判斷SQL 語句

SQLserver: Select top 100 State,JoinState, (case when State=1 and Joinstate=0 then 2 when S

SQLcase when then用法(用於分類統計)

char purge 格式 但是 統計 spa 比較 log 永遠 ase具有兩種格式。簡單case函數和case搜索函數。 --簡單case函數 case sex when ‘1‘ then ‘男‘ when ‘2‘ then ‘女’

SQLcase when then else end用法

一、簡單用法 case具有兩種格式。簡單case函式和case搜尋函式。 簡單case函式 SELECT s.s_id, s.s_name, s.s_sex, CASE WHEN s.s_sex = '1' THEN '男' WHEN s.s_s

SQLcase when then用法

case具有兩種格式:                              簡單case函式;                             case搜尋函式; --簡單case函式 case sex when '1' then '男' when

SQLcase when then 用法

一、case具有兩種格式。簡單case函式和case搜尋函式 --簡單case函式 case sex when '1' then '男' when '2' then '女’ else '其他' end --case搜尋函式 case when sex = '1' the

sql T_sql 利用Case When Then多條件判斷SQL 語句

SQL語句中的CASE語句與高階語言中的switch語句,是標準SQL的語法,適用與一個條件判斷有多種值的情況下分別執行不同的操作。 靈活應用CASE語句可以使SQL語句變得簡潔易讀,下面我們通過幾個例子來認識它。 select* from dbo.storeB   select bname,price

【統計】SQLcase when then else end用法(用於分類統計)(一)

case具有兩種格式。簡單case函式和case搜尋函式。--簡單case函式 case sex when '1' then '男' when '2' then '女’ else '其他' end --case搜尋函式 case when sex = '1' th

SQL Server和Oracle中case when then用法when like 的使用

在日常開發中容易遇到一種情況,就是資料庫所存資料與頁面顯示不一致,需要進行轉換,但是又不想在程式中寫程式碼判斷轉換,這時候就可以用的case....when...then...進行判斷顯示,而在有些時候when後邊的資料可能要進行模糊查詢,在這時候就要用到when....l

SQLcase when ...then...else ...and用法

CASE WHEN 基本概念 Case具有兩種格式:簡單Case函式和Case搜尋函式。 簡單Case函式: CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘0’ THEN ‘女’ ELSE ‘其他’ END Case搜尋函式:

SQLcase when then end的用法

示例一SELECT 學號, 姓名,  等級=     CASE     WHEN 總學分 IS NULL THEN ‘尚未選課’       WHEN 總學分 < 50 THEN ‘不及格’        WHEN 總學分 >=50 and 總學分<=52

case...when...then if 用法 select case when if 的一些用法

select case when if 的一些用法 概述:sql語句中的case語句與高階語言中的switch語句,是標準sql的語法,適用於一個條件判斷有多種值的情況下分別執行不同的操作。 首先,讓我們看一下CASE的語法。在一般的SELECT中,其語法格式如下:  CASE&nb

sql (6)——case when then

case 具有兩種形式:簡單case函式和case搜尋函式 以leetcode題目為例:將sex列中所有的female(f)換成male(m): UPDATE salarySET    sex = CASE sex     &

sql語句case when then end as 以及from前有逗號會報錯

sql 語句 from前面有逗號,會報錯,顯示某一欄位名稱不在表內; /usr/bin/python2.7 /home/sc/PycharmProjects/sc/model-feature-engi

MySQL中case when...then用法

1.mysql函式很多,今天講一下case when...then的用法,該函式其實就是一個if...else 2.例子 --查詢顯示欄位判斷(當該表的該欄位值不為空,顯示正常值,否則顯示“金額合計”) select case when pc.taxNo is no