SQL: Case-When實現複雜排序
2018.11.18
文章目錄
前言
某個模組讀取SQL server時,需要按一定的優先順序讀取,比如滿足T.a = 'A’的先讀,T.b='B’的次之,T.c='C’的優先順序最低。最簡單的方案,就是分三條SQL讀取,依次判斷是否為空,再決定是否讀下一條。但我想嘗試一下,只用一條SQL能否實現。
方法
使用Case-When1
select * from T t
where
t.a = 'A' or
t.b = 'B' or
t.c = 'C'
order by
case
when t.a = 'A' then 0
when t.b = 'B' then 1
when t.c = 'C' then 2
end asc;
相關推薦
SQL: Case-When實現複雜排序
2018.11.18 文章目錄 前言 方法 前言 某個模組讀取SQL server時,需要按一定的優先順序讀取,比如滿足T.a = 'A’的先讀,T.b='B’的次之,T.c='C’的優先順序最低。最
【SQL練習題】case when實現按要求排序
表中key列,資料如下:如何實現如下輸出效果:建表語句:CREATE TABLE order1 ( key varchar(255) ); INSERT INTO order1 VAL
通過SQL case when語法實現統計SQL的縱錶轉橫向
需求描述: 有一張業績統計表(t_user_performance),表結構如下: 人員ID user_id 業績型別 performance_type 業績金額 performance_value 時間 create_date
sql使用update set case when 實現一條語句批量更新
比如有一張user表 有欄位username(使用者名稱),status(狀態) 表中有三條資料 username = "張三" status = 1,username = "李四" status = 0, username = "王五" status = 1現在要將u
spark-sql case when 問題
spark 大數據 hadoop spark-sqlSELECT CASE (pmod(datediff(f0.`4168388__c_0`,‘1970-01-04‘),7)+1) WHEN ‘1‘ THEN ‘星期日‘ WHEN ‘2‘ THEN ‘星期一‘ WHEN ‘3‘ THEN ‘星期二‘ WHE
sql case when 數據類型
tab class varchar har select rom 失敗 可能 sel case when 的時候 我們不同條件可能會出不同的數據類型 舉例說明: declare @a nvarchar(10)=‘2‘ select case when @a=1 t
SQL case when
sql div 簡單 默認 nbsp The update span rom 第一種 格式 : 簡單Case函數 : 格式說明 case 列名 when 條件值1 then 選擇項1 when 條件值2 then 選項
sql case when then的使用
sql case when then的使用 base_dict 表中有如下的資料 如果檢索的是dict_type_code, 那麼可以使用case when then else end 對其再次賦值 使用case when then 檢索 SELECT (case dict
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 的使用方法
Case具有兩種格式。簡單Case函式和Case搜尋函式。 --簡單Case函式 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜尋函式 CASE WHEN sex = '1' THEN '
【mysql】mysql case when實現不同條件查詢
程式碼示例 SELECT SUM(CASE WHEN e.cost_audit_type = 1 AND date_format(e.cost_audit_time, '%Y-%m') = '2
Oracle case when 實現資料欄位資料的判斷過濾
需求 現在有一份管線資料,表中含有欄位buildTime說明了管線的建設日期,我們需要按時間段統計管線的資料 這是,我們需要對管線表中建設日期所對應的欄位進行分類 實現如下: 實現 對現有的資料進行分類判斷過濾,使用到了 case when ca
sql case when 的使用以及別名問題
select htlb, sum(HTZJE) as ysje,--預算金額 sum(yfje) as ljfse,--累計發生額 sum(jyje) as jyje,--結餘金額 (sum(jyje) / sum(HTZJE)) as jezb, --結餘佔比 (sum
sql-case,when的多條件組合寫法
1.decode 寫法簡介,只能寫表示式。 例:decode(表示式,條件1,值1,條件2,值2··· 預設值) 無法滿足多條件的寫法,比如,我要a-b = 0 且a !=0 用decode沒法實現 2.case when 能寫多條件 寫法一:case 表示式 wh
SQL COUNT +Case When Then+IFNULL多條件判斷實現多條件複雜統計
基礎知識 COUNT()函式 函式返回匹配指定條件的行數。 SQL COUNT() 語法 SQL COUNT(column_name) 語法 COUNT(column_name) 函式返回指定列的值的數目(NULL 不計入): SELECT C
使用case when,union all實現sql行轉列、列轉行
-- 建表 CREATE TABLE StudentScores ( UserName NVARCHAR(20), -- 學生姓名 Subject
SQL集萃(一) Case…When…Then 實現無表字段拼表格
開發過程中,由於自己的sql經驗不足,而有些問題通過搜尋描述起來又比較複雜,或者問題與結果文不對題,因此寫該系列部落格,希望通過不斷的積累為自己和讀者提供一些參考。 業務
關於case when複雜sql語句查詢
問題描述: 需要查詢出學生在不同流程狀態對應的活動個數,流程狀態分為五個狀態audit、havePass、notPass、reject、giveup;活動有社會活動(xg_credit_comm_a
【sql技巧】mysql修改時,動態指定要修改的字段 update `table` set (case when ....) = 1 where id = xx
幫助 ase stack pan 希望 需求 記錄 開始 lec 如果你點進了這篇帖子,那麽你一定遇到了跟我一樣的問題。別看題目的set case when...,我一開始也是第一反應是用case when但是發現並不好使。 問題呢,說得高大上一點:動態指定要修改的字段。
SQL面試題-行列互換-if、【case when】
alt 技術 我們 rim case when ade 建表 行數 prim http://www.cda.cn/view/21469.html tb_lemon_grade中,表中字段id,student_name,course,score分別表示成績id,學生姓名,課