本帖最后由 htl258 于 2010-07-15 14:18:41 编辑

解决方案 »

  1.   

    select * 
    from 
    (select *,[order]=row_number()over(partition by 编号 order by 时间 Desc )
    From TB where  标题 like '%aa%' and 条件..
    ) T where T.[order]<4
      

  2.   

    SELECT * 
    FROM tb t
    WHERE id IN (SELECT TOP 3 id 
                 FROM tb
                 WHERE 用户编号 = t.用户编号
                  AND 信息标题 LIKE '%aa%'
                 ORDER BY 时间 DESC)
    AND 信息标题 LIKE '%aa%'
      

  3.   

    select * from  tb t where id in
    (
    select top 3 id from tb where 用户编号=t.用户编号 
    where--你的多个条件
    order by 时间 desc 
    )
    where--你的多个条件
      

  4.   

    错了select * from  tb t where id in
    (
    select top 3 id from tb where 用户编号=t.用户编号 
    where--你的多个条件
    order by 时间 desc 
    )
    and--你的多个条件
      

  5.   

    select * from tb t 
    where (
    select count(1) from tb where 用户编号=t.用户编号 and 时间<=t.时间
    --and你的多个条件
    )<=3
    --and你的多个条件--条件输入两遍
      

  6.   

    test表(信息表)
    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的 取符合条件的前三条
      

  7.   

    我的用在了分页中 有上万条数据 用这个sql语句 都超时了 速度太慢了!