2011-11-30 103 views
3

我想by子句中子查詢中使用組是從第GROUP BY子句中的子查詢的SQL

select userID,count(id) 
from 
(
    (
     select id,max(bidAmount),userID 
     from Bids 
     group by id,bidAmount 
    ) 
    group by userID 
); 

但是這給錯誤

錯誤:附近的「組」:語法錯誤

是否有可能在sql中的from子句的子查詢中使用group by子句?

+1

我編輯了你的問題,使它更容易閱讀。你沒有說明你使用的是哪種sql方言,但是你的parantheesis中有一個明顯的語法錯誤。您還應該使用subquerys中的別名,因爲許多sql服務器對子查詢執行此操作。 – stefan

回答

4

檢查你的(),他們是不是在正確的地方。應該更多的東西是這樣的:

select w.userID,count(w.id) 
from (select id,max(bidAmount),userID from Bids group by id, userID) w 
group by w.userID 
+0

您的內聯視圖已損壞 - 按錯誤列分組。 –

5

試試這個:

select userID,count(id) 
from (

select id,max(bidAmount),userID from Bids group by id,userID 

) as tmp 

group by userID 
3

您可以在子查詢中使用group by,但你的語法是關閉的。

select userID,count(id) 
from 
(
     select id,max(bidAmount),userID 
     from Bids 
     group by id,userID 
) 
GROUP BY userid