作者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://webptt.com/cn.aspx?n=bbs/Database/M.1513610169.A.634.html
1F:→ DRLai: 唔.. 找到的方法是子句配合 ORDER 查询,有其他方法吗? 12/18 23:33
2F:推 SeanBoog: 用数值表达fail=0, sum的时候0乘任何数都是0 12/19 03:47