我有一个评论表:
+----------+---------------------+----------+
| match_id | timestampe | comment |
+----------+---------------------+----------+
| 100 | 2014-01-01 01:00:00 | Hi |
| 200 | 2014-01-01 01:10:00 | Hi1 |
| 300 | 2014-01-01 01:20:00 | Hi2 |
| 100 | 2014-01-01 01:01:00 | Hello |
| 100 | 2014-01-01 01:02:00 | Hello1 |
| 200 | 2014-01-01 01:11:00 | hey |
+----------+---------------------+----------+
我想从表格中获取以下信息
SELECT match_id, max(timestampe) as maxtimestamp, count(match_id) as comments_no
FROM comments
GROUP BY match_id
order by maxtimestamp DESC
前面的解释效果很好,但问题是当我想获取 maxtimestamp 的注释时。
如何使用最优化的查询获取每场比赛的最新评论(最大时间戳的评论)?
最佳答案
你可以这样做。 这也是相当理想的。
SELECT c.comment, m.*
FROM
comments c
JOIN
(
SELECT t.match_id, max(t.timestampe) as maxtimestamp, count(t.match_id) as comments_no
FROM comments t
GROUP BY t.match_id
) m on c.match_id = m.match_id and c.timestampe = m.maxtimestamp
关于mysql - 如何使用Max聚合函数获取行的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20928010/