我現在的表看起來像這樣:SQL,與同類型總和值加列
ID TYPE QUANTITY
1 A1 3
2 B1 2
3 A1 2
4 B1 8
,做查詢後,我想的是:
ID TYPE QUANTITY SUM
1 A1 3 5
2 B1 2 10
3 A1 2 5
4 B1 8 10
之列由相同類型的項目的總計數量組成。
我現在的表看起來像這樣:SQL,與同類型總和值加列
ID TYPE QUANTITY
1 A1 3
2 B1 2
3 A1 2
4 B1 8
,做查詢後,我想的是:
ID TYPE QUANTITY SUM
1 A1 3 5
2 B1 2 10
3 A1 2 5
4 B1 8 10
之列由相同類型的項目的總計數量組成。
SELECT t.ID,t.TYPE,t.QUANTITY,x.SUM FROM TABLE t LEFT JOIN
(SELECT ID,TYPE,QUANTITY,SUM(QUANTITY) AS SUM FROM TABLE GROUP BY TYPE)x
ON t.type=x.type
謝謝大家,每個解決方案都很棒,雖然它們非常相似。對不起,我不能添加你的積分,因爲我的代表低;) – Jarek
我沒有嘗試過的查詢,但看到如果你這樣做會發生什麼:
SELECT
ID,
myTable.TYPE,
QUANTITY,
aaa.summy
FROM myTable
JOIN
(
SELECT
TYPE,
SUM(QUANTITY) summy
FROM myTable
GROUP BY TYPE
) aaa
ON aaa.TYPE = myTable.TYPE
哦,那麼近。 – Strawberry
@Strawberry我創建了表來測試查詢。我現在已經更新:) – James
我的做法是使用派生表,按類型第一聚集的數量,然後加入這個結果與原數據:
select
t.id,
t.type,
t.quantity,
tmp.overall
from
table t join (
select
table.type,
sum(table.quantity) as overall
from
table
group by
table.type
) tmp on t.type = tmp.type
你有問題嗎? – Strawberry