我有这样一张表:我只想返回只有4个相同日期的记录请问怎么实现?

解决方案 »

  1.   


    select username,din,clock from tb group by username,din,clock
    having count(*)=4
      

  2.   

    select x.* from tb x
    inner join
    (
    select username,din,clock from tb group by username,din,clock having count(*)=4
    )y on x.username = y.username and x.din= y.din and x.clock = y.clock 
      

  3.   

    先看看这条SQL有数据没还是没有数据返回……
      

  4.   

    先看看这条SQL有数据没还是没有数据返回……select x.* from tb x 
    inner join( 
    select username,din,CONVERT(varchar(100),clock,23)clock
     from tb group by username,din,
    CONVERT(varchar(100),clock,23)
    having count(*)=4  
    )y on x.username = y.username and x.din= y.din and convert(varchar(100),x.clock,23) = y.clock 
      

  5.   

    select * from tb t1 where (select count(1) from tb t2 where t1.username=t2.username and convert(varchar(10),t1.clock,120)=convert(varchar(10),t2.clock,120))=4
      

  6.   

    先看看这条SQL有数据没还是没有数据返回……select x.* from tb x 
    inner join( 
    select username,din,CONVERT(varchar(100),clock,23)clock
     from tb group by username,din,
    CONVERT(varchar(100),clock,23)
    having count(*)=4  
    )y on x.username = y.username and x.din= y.din and convert(varchar(100),x.clock,23) = y.clock 
    貌似 不行……不过辛苦你了,从你给的代码中,我也学到了挺多的……
    7楼给的方法 很有效