嗨,我有一个 mysql 查询,它将按状态的最大计数返回 post_id,它当前显示的结果是
POST_ID
3
mysql表:
(`post_id`, `user_id`, `status`, `date_created`)
(2, 2, 'funny', 20121022120627)
(2, 3, 'lame', 20121023120627)
(3, 1, 'useful', 20121023120627)
(3, 3, 'lame', 20121023120627)
(3, 4, 'useful', 20121023120627)
(4, 4, 'useful', 20121024120627)
但我需要的结果是,在 desc order 上显示从 max 到 min 的计数。如果 2 个结果具有相同的数字,那么最高结果将基于最新的 date_created 类似这样
POST_ID
3
2
4
我目前的查询是
SELECT post_id
FROM tableName
GROUP BY post_ID
HAVING COUNT(*) =
(
SELECT MAX(x.counts)
FROM
(
SELECT post_id, COUNT(*) counts
FROM tableName
GROUP BY post_id
) x
)
该示例可以在 SQLFiddle SQLFiddle上找到