[英]Get row with max value in one column for MySQL query with grouped resultset
我有一個看起來像這樣的mysql表(摘錄):
| gameID | gameDATE |
+--------+---------------------+
| 12757 | 2015-08-15 13:30:00 |
| 12758 | 2015-08-16 11:00:00 |
| 12759 | 2015-08-16 13:00:00 |
| 12760 | 2015-08-16 13:00:00 |
| 12761 | 2015-08-16 13:00:00 |
| 12762 | 2015-08-16 13:00:00 |
| 12763 | 2015-08-16 13:00:00 |
| 12764 | 2015-08-16 13:00:00 |
| 13335 | 2015-08-16 13:00:00 |
現在,我想找到其中大多數游戲都在玩的gameDATE
。 我似乎找不到正確的查詢。
這就是我總是要結束的地方。
SELECT count(gameID) as c, `gameDATE`
FROM `SKGV2_games`
WHERE gameROUND =2 AND leagueID =185 GROUP BY `gameDATE` ASC
我只想要一行結果=> c
編號最高的那一行,而不是所有行。
| c | gameDATE |
+---+----------------------+
| 1 | 2015-08-15 13:30:00 |
| 1 | 2015-08-16 11:00:00 |
| 7 | 2015-08-16 13:00:00 |
嘗試這個:
SELECT count(gameID) as c, `gameDATE`
FROM `SKGV2_games`
WHERE
gameROUND =2 AND leagueID =185
GROUP BY `gameDATE`
ORDER BY c ASC
LIMIT 1
更新
這是有關如何組織數據的建議。 由於您會在像您這樣的表中擁有大量數據,因此最好有一個包含游戲和每天計數的並行表,並且在此日志表中的每個條目都可以增加第二個表的計數。 以后要構建統計信息等時,效率會更高。
@DanielSetréus將我引向“正確”查詢。 新查詢為:
SELECT `gameDATE`
FROM `SKGV2_games`
WHERE gameROUND =2
AND leagueID =185
GROUP BY `gameDATE`
ORDER BY COUNT( gameID ) DESC
LIMIT 1
這只是給我日期(我實際上不需要計數具有相同日期的項目)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.