2013-12-19 44 views
1

我得到以下錯誤:因爲它沒有在任何一個包含錯誤BY

消息8120,級別16,狀態1,行1列 「TempRH.utilisateur_id」在選擇列表中無效聚合函數或GROUP BY子句。

當執行以下查詢:

SELECT MAX(TempRH.poids)as poids,TempRH.utilisateur_id 
    FROM TempRH 
    INNER JOIN (SELECT TempRH.utilisateur_id 
       FROM TempRH 
       GROUP BY TempRH.utilisateur_id 
       HAVING COUNT(*)>2) t 
    ON t.utilisateur_id =TempRH.utilisateur_id 

請幫助我。

回答

2

試試這個

SELECT * 
FROM(
    SELECT MAX(TempRH.poids)as poids,TempRH.utilisateur_id 
    FROM TempRH 
     INNER JOIN 
       (SELECT TempRH.utilisateur_id 
       FROM TempRH 
       GROUP BY TempRH.utilisateur_id 
       HAVING COUNT(*)>2)t 
     ON t.utilisateur_id =TempRH.utilisateur_id 
    GROUP BY TempRH.utilisateur_id 
)x 
0

由於您使用的是Aggregate功能,你需要從SELECT聲明GROUP BY任何其他列。添加

GROUP BY TempRH.utilisateur_id

到您的查詢年底將解決錯誤。

0

由於您選擇utilisateur_id連同Max(poids),您還需要在外層分組。

一點 - 如果你要加入回從什麼樣子是一個關鍵的同桌,應該可以簡化您的查詢,如下所示:

SELECT MAX(TempRH.poids)as poids, TempRH.utilisateur_id 
    FROM TempRH 
    GROUP BY TempRH.utilisateur_id 
    HAVING COUNT(*) > 2;