我的表tab有以下3个字段:
日期(dd)    时间(tt)    数据(data)
我希望找到这样的纪录:
最大日期这一天最大时间点的那个数据。
说明:
1、数据库是mysql,日期格式:yyyy-mm-dd,时间格式hh:mm:ss。
2、最大日期不总是当前日期,而有可能是任何一天,因为不是每一天都有数据。
3、每一天也不止一个数据,所以就在找到了有数据的最大日期后,还要找这一天里时间最大的那条纪录。
4、总而言之,就是找到一条最新的纪录。
问了很多人都不会写,请高手帮忙看看怎么写最简单,谢谢。

解决方案 »

  1.   

    这个是SQL 2000 的。相信MYSQL也是差不多select * from tab where dd = (select max(dd) from tab)
      

  2.   

    错了。没看到你的日期是分开的。
    你连起来就可以了。
    create table #
    (
      dd varchar(10),
      tt varchar(10),
      ss varchar(20)
    )insert into # select '2008-01-29','09:20:21','aa'
    union
    select '2008-01-29','09:20:22','aa'
    union
    select '2008-01-29','09:22:21','aa'
    union
    select '2008-01-29','09:21:21','aa'
    union
    select '2008-01-29','09:30:21','aa'select * from # where cast(dd+' '+tt as datetime)=(select max(cast(dd+' '+tt as datetime)) from #)