如果我們有一個表的值爲a和b,有沒有辦法只加起來的b,如果它不是重複的a?例如跟蹤已經加法的元組sql
a b
1 2
2 3
2 3
所以我們會得到(而不是8)只有5
A排序
select sum(b if unique a),
from table
where ...
如果我們有一個表的值爲a和b,有沒有辦法只加起來的b,如果它不是重複的a?例如跟蹤已經加法的元組sql
a b
1 2
2 3
2 3
所以我們會得到(而不是8)只有5
A排序
select sum(b if unique a),
from table
where ...
以下查詢的每個組a
b
的最低值
select min(b) min_b
from mytable
group by a
然後,您可以通過選擇從派生表
select sum(min_b) from (
select min(b) min_b
from mytable
group by a
) t
您還沒有指定您的RDBMS,但如果您使用的支持SQL Server等窗口功能的數據庫,你可以通過使用WITH
條款和ROW_NUMBER()
首先查詢中的唯一行功能,然後得到SUM
。
;WITH C AS(
SELECT a, b,
ROW_NUMBER() OVER (PARTITION BY a ORDER BY a) AS Rn
FROM Table1
)
SELECT SUM(b) FROM C
WHERE Rn = 1
應在'的情況進行ADDE什麼值= 2'和第一個'B = 3'和第二'B = 5'? 「a」是否等於「2 + 3」或「2 + 5」? –