请教一个查询
如何查出每个用户最后发布的信息?

解决方案 »

  1.   

    select *
    from title t
    where adddate=(
                  select max(adddate)
                  from title
                  where userid=t.userid)
      

  2.   

    select *
    from tb t
    where not exists(select 1 from tb where [userid]=t.[userid] and adddate>t.adddate)
      

  3.   

    SELECT * FROM ITEMS T1 WHERE NOT EXISTS(
    SELECT 1 FROM ITEMS T2 WHERE T2.USERID=T1.USERID AND T2.ADDDATE>T1.ADDDATE
    )
      

  4.   

    select * from from items as x
    where x.adddate>= all( select adddate from items y where x.userId=y.useID)
      

  5.   


    select  userid,max(adddate) from  group by userid 
      

  6.   

    select a.*
    from items a,(select userid,max(adddate) adddate from items group by userid) b
    where a.userid=b.userid and a.adddate=b.adddate
      

  7.   

    select * from table where adddate in(
    select  max(adddate) as LastTime from table group by userid
    )
      

  8.   


    SELECT * 
    FROM tb t
    WHERE id = (
              SELECT TOP 1 id 
              FROM tb
              WHERE userid = t.userid
              ORDER BY adddate DESC
          )
      

  9.   

    表自连接就可以实现了。
    select [id],[userid],title,adddate
    from tb t
    where 
      not exists(select 1 from tb where [userid]=t.[userid] and adddate>t.adddate)
      

  10.   

    SELECT * 
    FROM tb t
    WHERE id = (
              SELECT TOP 1 id 
              FROM tb
              WHERE userid = t.userid
              ORDER BY adddate DESC
          )
      

  11.   

    select * from tb t
    where not exists
    (select 1 from tb where [userid]=t.[userid] and adddate>t.adddate)