有隻有總結一個表的特定組的方法嗎?例如,如果我有mysql只總結一個表的特定組
KEYS/VALS
A / 1
A / 2
B / 3
B / 3
C / 1
C / 1
,我想僅分組A和C得到,但沒有任何其他的如以上B:
KEYS/VALS
A / 3
B / 3
B / 3
C / 2
這看起來非常簡單採用存儲過程,但我不能確定是否可以用查詢?
有隻有總結一個表的特定組的方法嗎?例如,如果我有mysql只總結一個表的特定組
KEYS/VALS
A / 1
A / 2
B / 3
B / 3
C / 1
C / 1
,我想僅分組A和C得到,但沒有任何其他的如以上B:
KEYS/VALS
A / 3
B / 3
B / 3
C / 2
這看起來非常簡單採用存儲過程,但我不能確定是否可以用查詢?
UNION ALL
非-B部分用B部分:
select keys, sum(vals)
from tablename
where keys <> 'B'
group by keys
union all
select keys, vals
from tablename
where keys = 'B'
它實現利用聯盟這個結果,因爲任何一組通過將應用到整個結果纔是可能的。隨着工會可以結合2次獨立的查詢,因此,本集團通過將僅適用於查詢1:
select keys, sum(vals) as vals
from yourtable
where keys in ('A','B')
group by keys
union
select keys, vals
from yourtable
where keys not in ('A','B')
請嘗試以下查詢
SELECT keys, SUM(vals) as vals
FROM yourtable
WHERE keys in ('A','C')
GROUP BY keys
這不起作用,你需要聯合所有其他答案中指出的。會排除B行 – shev72
UNION ALL,讓兩者(B,3)行。 – jarlh