作者DRLai (蘇打)
看板Database
標題[SQL ] SELECT * FROM x GROUP BY y 語法
時間Mon Dec 18 23:16:07 2017
資料庫名稱: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), 來自: 220.136.16.37
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1513610169.A.634.html
→ DRLai: 唔.. 找到的方法是子句配合 ORDER 查詢,有其他方法嗎? 12/18 23:33
推 SeanBoog: 用數值表達fail=0, sum的時候0乘任何數都是0 12/19 03:47