Re: [SQL ] SELECT * FROM x GROUP BY y 語法
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
12/19 21:31, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章