2011-12-08 26 views
0

巢SUM我有這樣一個簡單的SQL語句下面,我想窩聚合函數SUMMINSQL:與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 

不幸的是,這是行不通的。

+1

請加什麼SQL服務使用的是(甲骨文, Postgres的,MSSQL ...) –

回答

4

嘗試:

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 
+0

3 FROM,2個選擇出頭關我認爲 – xQbert

+0

是一個從2號線是太多了,但其餘的工作就像一個魅力,謝謝傢伙;) – enne87

+0

@ enne87感謝。我修好了它。 –

1

如果您選擇的服務器產品的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