2016-07-12 54 views
0

我有一個表如何獲得最大計數的用戶的ID,以表

orderNumber(pk) , customerNumber , comment 

我都數不過來的最大訂單放置用戶,並顯示其用戶ID和MAX計數。我有以下查詢

它顯示了算對,但它需要在第一CUSTOMERNUMBER在表

SELECT maxCount.customerNumber , MAX(`counted`) FROM 
(
SELECT customerNumber, COUNT(*) AS `counted` 
FROM `orders` 
GROUP BY `customerNumber` 
)as maxCount 

感謝&問候

回答

5

只需使用ORDER BY與內部查詢:

SELECT customerNumber, COUNT(*) AS `counted` 
FROM `orders` 
GROUP BY `customerNumber` 
ORDER BY COUNT(*) DESC 
LIMIT 1 

如果您想要返回全部客戶號碼o發領帶,你可以使用一個HAVING子句標識最大計數的子查詢:

SELECT customerNumber, COUNT(*) AS counted 
FROM orders 
GROUP BY customerNumber 
HAVING COUNT(*) = (SELECT MAX(t.counted) FROM (SELECT COUNT(*) AS counted 
               FROM orders 
               GROUP BY customerNumber) t) 

演示在這裏:

SQLFiddle

+0

@onedaywhen我更新我的回答給的選項也返回具有最高計數的所有客戶號碼。 –

相關問題