sql group排序问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql group排序问题相关的知识,希望对你有一定的参考价值。
SELECT * FROM `bookcontent` group by book_id
bookcontent是用来存放图书内容的一个表,其中图书内容是根据图书ID一章一章连载的,我现在想把最新每本书更新的最新章节给抓出来,使用了如下语句:SELECT * FROM `bookcontent` group by book_id order by addtime desc,
可是这样抓出来的结果并不是我想要的,这样只能抓出最早插入的图书章节记录,怎么才能抓出最后插入的记录呢
补充下,假如数据表如下:
table: bookcontent
id title book_id addtime
1 a 1 2008-2-1
2 b 1 2008-3-1
3 c 1 2008-4-1
4 a 2 2008-2-5
5 b 2 2008-3-5
6 c 2 200-4-5
如何同时只抓出
3 c 1 2008-4-1
6 c 2 200-4-5
这两条记录
select * form bookcontent,(select book_id_a,addtime_a=max(addtime) from bookcontent group by book_id)a where book_id_a=book_id,addtime_a=addtime) 参考技术A 我只是一个建议 我这没有SqlServer
select top 1 from bookcontent group by book_id order by addtime desc 参考技术B 建议你用游标试试
以上是关于sql group排序问题的主要内容,如果未能解决你的问题,请参考以下文章
SQL中的group by为啥是按照分组的第二个字段排序的呢?