こんにちは私はステータスの最大カウントによってpost_idを返すmysqlクエリを持っています、それが現在表示する結果は
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の順序で最大から最小までのカウントを表示することです.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