一个表中有很多列。其中有三列是我需要的:begintime、endtime、lastdate
现在我需要查询出所有的begintime、endtime。但有二个条件:
1、要根据lastdate进行降序排列
2、begintime、endtime这二个字段的值加起来如果有重复的记录,就要去掉。这条语句该怎么写?

解决方案 »

  1.   

    去重复后,怎么取lastdate的值?select begintime,endtime
    from table1
    group by begintime,endtime
    order by max(lastdate) desc
      

  2.   

    如果还有重复 select distinct
      

  3.   

    select distinct (begintime+endtime) as time
    from 
    (
    select begintime,endtime,lastdate 
    from time_table
    order by lastdate desc
    )
      

  4.   

    select distinct (begintime+endtime) as time
    from
    (
    select begintime,endtime,lastdate
    from time_table
    order by lastdate desc
    )
      

  5.   


    SELECT  distinct (begintime+endtime)  ,lastdate 
    FROM time_table
    GROUP BY (begintime+endtime),lastdate 这样就可以了 。
    lz套用一下吧
      

  6.   

    http://blog.csdn.net/huangyunzeng2008/archive/2009/10/08/4643598.aspx
      

  7.   

    select begintime,endtime 
    from table1 
    group by begintime,endtime 
    order by max(lastdate) desc
      

  8.   


    这是正常思路,楼主要去掉 begintime、endtime 重复记录的话,就要确定lastdate 是取那个值,这样才有办法解决。