SELECT
*
FROM
表 main
WHERE
(
SELECT
COUNT(1)
FROM
表 sub
WHERE
DATE ( main.日期时间列 ) = DATE ( sub.日期时间列 )
AND main.日期时间列 > sub.日期时间列
) < 5
ORDER BY
main.日期时间列
楼上给的那个方法确实可以一句话查出LZ要的分组前n条结果。但是我劝LZ不要用,因为效率低到可怕!5000条数据就需查上6秒以上,而且还是在有正确索引的前提下。(本人以前吃过这苦头)
用 union all