2013-06-21 92 views
1

自從我必須做一些更復雜的SQL並且我有點生疏以來已經過去了幾年。我需要選擇一個max(count()),但我最近重新瞭解到您不能嵌套聚合函數。從COUNT中選擇MAX

我正在使用WebSQL並有一個名爲「calls」的表。

Calls 
    id INT 
    targetId INT 
    date DATETIME 

我需要選擇目標ID的最大COUNT。到目前爲止,我有這個:

SELECT targetId, COUNT(targetId) AS NumberOfCalls FROM calls GROUP BY targetId 

這是返回給我的每個目標被調用的次數。我需要動態地構建解決此一報告,將需要知道的最高值,任何targetIds有

我試過,但它沒有任何工作,沒有返回數據對我說:

SELECT MAX(x.count) FROM (SELECT COUNT(targetId) AS count FROM calls GROUP BY targetId) x 

如果有人可以幫助我,它將不勝感激!

回答

1

這聽起來像你要找的是什麼的次數的計數,一個目標ID中顯示出來表格,然後是最大值。這會給你的是:

SELECT MAX(NUMBEROFCALLS次)FROM( SELECT COUNT(*)作爲從NUMBEROFCALLS電話GROUP BY目標ID )

+0

謝謝!這很好用! – FunkyMonk91

2

如果您想了解所選目標ID的最大ID,試試這個:

SELECT targetId, MAX(targetId) AS MaxTargetId FROM calls GROUP BY targetId