SELECT [a],[b],[c],COUNT(*) AS Hits
FROM [dbo].[ta] join [dbo].[tb] on [tb].[id] = [ta].[id]
where GROUP BY [a],[b],[c]
我想選擇c列,但不是按cluase組中的組? 因爲列「C」是由子句返回不suifficient記錄時在組如何選擇不是按分組排列的名稱
我當前的查詢是
SELECT top 20 [headshot],
[athleteId],
[athleteName],
COUNT() AS Hits
FROM [dbo].[tblRep_Usecase2]
join [dbo].[tblRep_Login] on [tblRep_Login].[ID] = [tblRep_Usecase2].[ID]
where athleteName != 'NULL'
and headshot != 'NULL'
and headshot != ''
and convert(date,[tblRep_Usecase2].[insertDate]) >='11/9/2015'
and convert(date,[tblRep_Usecase2].[insertDate]) <='11/9/2015'
and [tblRep_Usecase2].[appsportid]='41'
GROUP BY [headshot],[athleteId],[athleteName]
HAVING COUNT()>1 order by Hits DESC
你能更清楚嗎?從哪個表格中選擇a,b和c中的每一個? – mikeagg
如果你想選擇它的原始值,你顯然不能在邏輯上從GROUP BY中刪除[c]。當給定[a]和[b]組合存在多個[c]值時,無法「神奇地」將它們合併成單個記錄 - 您需要將[c]與[a]和[ b](爲每個單獨的[c]值獲取多個記錄),或根據您的情況使用像max(),min()等函數來聚合值... –