我有一个名为categories
的表和名为posts
的表。每篇文章都有日期,标题,ID和catID。我怎样才能做一个查询返回按日期排序的每个cateogry的第一篇文章。SQL Group按日期排列并显示每个类别
例子:
Post_ID 1 "Title 1" "Cat1" "26-03.2013 13:00"
Post_ID 2 "Title 2" "Cat1" "26-03.2013 13:05"
Post_ID 3 "Title 3" "Cat1" "25-03.2013 13:00"
Post_ID 4 "Title 4" "Cat1" "25-03.2013 13:05"
Post_ID 5 "Title 5" "Cat2" "26-03.2013 14:00"
Post_ID 6 "Title 6" "Cat2" "26-03.2013 14:05"
Post_ID 7 "Title 7" "Cat2" "25-03.2013 14:00"
Post_ID 8 "Title 8" "Cat2" "25-03.2013 14:05"
Post_ID 9 "Title 9" "Cat3" "26-03.2013 15:00"
Post_ID 10 "Title 10" "Cat3" "26-03.2013 15:05"
Post_ID 11 "Title 11" "Cat3" "25-03.2013 15:00"
Post_ID 12 "Title 12" "Cat3" "25-03.2013 15:05"
其结果将是:
26-03-2013
Post ID10 (15:05) CAT 3
POST ID8 (14:05) CAT 2
POST ID4 (13:05) CAT 1
25-03-2013
Post ID12 (15:05) CAT 3
POST ID6 (14:05) CAT 2
POST ID2 (13:05) CAT 1
这个问题每天都会在SO上被提出一百次 - 以及在专门的MySQL论坛上。哦,它也包含在手册中。 – Strawberry 2013-03-26 10:52:13
@Strawberry你能给我一个链接吗?在问一个问题之前,我总是寻找一个解决方案,但是这次我真的找不到一个问题。 – 2013-03-26 10:59:01
寻找群组最大值。有各种解决方案,但不相关的子查询通常是最快的 – Strawberry 2013-03-26 11:53:18