巢SUM我有這樣一個簡單的SQL語句下面,我想窩聚合函數SUM
和MIN
:SQL:與MN
SELECT SUM(MIN(r1.price))
FROM rounds r1, rounds r2
WHERE r1.round ='1'
AND r1.market = r2.market
AND r1.round = r2.round
AND r1.name = r2.name
GROUP BY market
不幸的是,這是行不通的。
巢SUM我有這樣一個簡單的SQL語句下面,我想窩聚合函數SUM
和MIN
:SQL:與MN
SELECT SUM(MIN(r1.price))
FROM rounds r1, rounds r2
WHERE r1.round ='1'
AND r1.market = r2.market
AND r1.round = r2.round
AND r1.name = r2.name
GROUP BY market
不幸的是,這是行不通的。
嘗試:
SELECT SUM(lowest_price) FROM
(SELECT MIN(r1.price) AS lowest_price
FROM rounds r1
INNER JOIN rounds r2 ON r1.market = r2.market
AND r1.round = r2.round
AND r1.name = r2.name
WHERE r1.round ='1'
GROUP BY r1.market) innerSElect
如果您選擇的服務器產品的SQL風味支持排序功能,你也可以使用這樣的查詢:
SELECT SUM(price)
FROM (
SELECT
r1.price,
ROW_NUMBER() OVER (PARTITION BY r1.market ORDER BY r1.price) AS rnk
FROM rounds r1
INNER JOIN rounds r2 ON r1.market = r2.market
AND r1.round = r2.round
AND r1.name = r2.name
WHERE r1.round = '1'
) s
WHERE rnk = 1
請加什麼SQL服務使用的是(甲骨文, Postgres的,MSSQL ...) –