Re: [SQL ] SELECT * FROM x GROUP BY y 語法

看板Database (資料庫)作者 (可愛小孩子)時間7年前 (2017/12/19 11:58), 編輯推噓2(200)
留言2則, 2人參與, 7年前最新討論串2/2 (看更多)
select ID,sum(unit * quantity) as count, case min( case status when 'Fail' then 1 when 'Pending' then 2 when 'OK' then 3 end ) when 1 then 'Fail' when 2 then 'Pending' when 3 then 'OK' end as status from table group by ID ※ 引述《DRLai (蘇打)》之銘言: : 資料庫名稱:MariaDB : 資料庫版本:10 : 內容/問題描述: : 資料大致如下 : ID unit quantity status : -------------------------------------- : A 10 10 OK : A 10 20 Pending : A 20 10 OK : B 10 10 OK : B 10 10 Fail : C 10 10 OK : C 10 10 OK : C 10 10 OK : 想要做的是用 GROUP BY ID,將同 ID 的彙整 : 同時進行數量加總 : 前述部分語法沒問題,主要是 Status 欄位 : 目前的語法 : SELECT ID, SUM(unit*quantity) as count, status FROM table GROUP BY ID : 發現 Status 欄位顯示是先搶先贏 : 而我想要呈現的方式是 Fail > Pending > OK : 即 相同 ID 中有一個status 為 Fail 則顯示 Fail : 要如何撰寫呢? : 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.232.34.27 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1513655899.A.F59.html

12/19 13:50, 7年前 , 1F
推一個
12/19 13:50, 1F

12/19 21:31, 7年前 , 2F
原來可以這樣寫,感謝 m(_ _)m
12/19 21:31, 2F
文章代碼(AID): #1QE8vRzP (Database)
討論串 (同標題文章)
文章代碼(AID): #1QE8vRzP (Database)