
sql取出每组的前N条记录
MySQL中有个表:article(字段:id,type,date),type有1-10,10种类型。现在要用SQL找出每种类型中时间最新的前N个数据组成的集合。sele...
MySQL中有个表:article(字段:id,type,date),type有1-10,10种类型。现在要用SQL找出每种类型中时间最新的前N个数据组成的集合。
select a1.* from article a1
inner join
(select a.type,a.date from article a left join article b
on a.type=b.type and a.date<=b.date
group by a.type,a.date
having count(b.date)<=2
)b1
on a1.type=b1.type and a1.date=b1.date
order by a1.type,a1.date desc
就想要问下 a.date<=b.date 是什么意思
count(b.date)<=2又是啥意思 展开
select a1.* from article a1
inner join
(select a.type,a.date from article a left join article b
on a.type=b.type and a.date<=b.date
group by a.type,a.date
having count(b.date)<=2
)b1
on a1.type=b1.type and a1.date=b1.date
order by a1.type,a1.date desc
就想要问下 a.date<=b.date 是什么意思
count(b.date)<=2又是啥意思 展开
2个回答
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么数据库?不同数据的sql是不同的.mysql,postgresql用limit和offset.sql server 用两次top.firebird用rows.其它的我不知道.
追问
orcal
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询