sql 分组后取每组按时间排序的前三条记录写法 本帖最后由 htl258 于 2010-07-15 14:18:41 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select * from (select *,[order]=row_number()over(partition by 编号 order by 时间 Desc )From TB where 标题 like '%aa%' and 条件..) T where T.[order]<4 SELECT * FROM tb tWHERE id IN (SELECT TOP 3 id FROM tb WHERE 用户编号 = t.用户编号 AND 信息标题 LIKE '%aa%' ORDER BY 时间 DESC) AND 信息标题 LIKE '%aa%' select * from tb t where id in(select top 3 id from tb where 用户编号=t.用户编号 where--你的多个条件order by 时间 desc )where--你的多个条件 错了select * from tb t where id in(select top 3 id from tb where 用户编号=t.用户编号 where--你的多个条件order by 时间 desc )and--你的多个条件 select * from tb t where (select count(1) from tb where 用户编号=t.用户编号 and 时间<=t.时间--and你的多个条件)<=3--and你的多个条件--条件输入两遍 test表(信息表)id,userid,title,begintime,State,Content查询按照userid分组取出时间在前面的三条数据,并且title like '%aa%',Content like '%aa%',state=1 并按照时间倒序的sql语句结果如下5,3,aaddssd,2010-05-06,1,safdfaadsdf6,3,aaddssd,2010-05-04,1,safdfaadsdf8,3,aaddssd,2010-05-03,1,safdfaadsdf4,2,afdagaad,2010-05-02,1,jjkjksaadsf如上结果 userid=3的 取符合条件的前三条 我的用在了分页中 有上万条数据 用这个sql语句 都超时了 速度太慢了! 大家好,关于这个表设计的问题已经困扰我很久了,你能帮帮我吗? TRUNCATE TABLE后不能插入某些数据 如何直接用sql语句导出某个表为excel格式???在线等…… help!!!!!!!!!!!再发一次,难道就没人会写吗?? 各位大侠帮帮忙,数据库问题 sql server 2005(64bit)链接服务器中没有链接oracle的驱动 如何判断数据库是否存在? 查询成绩表英语前五名的学生,sql语句怎么写?? 为什么我的专家分少了啊? 关于SQL Server,你们遇到过吗????????????????---2 SQL查询内容,如何不查询有HTML标签的地方? 如何匹配这些数据
from
(select *,[order]=row_number()over(partition by 编号 order by 时间 Desc )
From TB where 标题 like '%aa%' and 条件..
) T where T.[order]<4
FROM tb t
WHERE id IN (SELECT TOP 3 id
FROM tb
WHERE 用户编号 = t.用户编号
AND 信息标题 LIKE '%aa%'
ORDER BY 时间 DESC)
AND 信息标题 LIKE '%aa%'
(
select top 3 id from tb where 用户编号=t.用户编号
where--你的多个条件
order by 时间 desc
)
where--你的多个条件
(
select top 3 id from tb where 用户编号=t.用户编号
where--你的多个条件
order by 时间 desc
)
and--你的多个条件
where (
select count(1) from tb where 用户编号=t.用户编号 and 时间<=t.时间
--and你的多个条件
)<=3
--and你的多个条件--条件输入两遍
id,userid,title,begintime,State,Content查询按照userid分组取出时间在前面的三条数据,并且title like '%aa%',Content like '%aa%',state=1 并按照时间倒序的sql语句
结果如下
5,3,aaddssd,2010-05-06,1,safdfaadsdf
6,3,aaddssd,2010-05-04,1,safdfaadsdf
8,3,aaddssd,2010-05-03,1,safdfaadsdf
4,2,afdagaad,2010-05-02,1,jjkjksaadsf如上结果 userid=3的 取符合条件的前三条