create table LYGRESCUE.DISTRESS
(
  GUID          VARCHAR2(32) not null,
  CLIENT_ID     VARCHAR2(16) not null,
  SERVER_ID     VARCHAR2(16) not null,
  DISTRESS_TIME DATE not null,
  DISTRESS_LON  VARCHAR2(32) not null,
  DISTRESS_LAT  VARCHAR2(32) not null,
  CREATE_TIME   DATE not null,
  VIEW_TAG      VARCHAR2(32)
)insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3754fc020137550a669e0014', '2095729', '455763', to_date('16-05-2012 17:45:04', 'dd-mm-yyyy hh24:mi:ss'), '119°44"42.1''', '34°51"42.0''', to_date('16-05-2012 17:46:14', 'dd-mm-yyyy hh24:mi:ss'), '-1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a37550e3d013755178a63000b', '2095729', '455763', to_date('16-05-2012 17:59:25', 'dd-mm-yyyy hh24:mi:ss'), '119°39"27.8''', '34°48"02.1''', to_date('16-05-2012 18:00:35', 'dd-mm-yyyy hh24:mi:ss'), '-1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a375518d90137551a8f470004', '2095729', '455763', to_date('16-05-2012 18:02:43', 'dd-mm-yyyy hh24:mi:ss'), '119°38"06.0''', '34°47"23.6''', to_date('16-05-2012 18:03:53', 'dd-mm-yyyy hh24:mi:ss'), '-1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a37552c570137552cafe70001', '2095729', '455763', to_date('16-05-2012 18:22:31', 'dd-mm-yyyy hh24:mi:ss'), '119°29"30.7''', '34°44"33.9''', to_date('16-05-2012 18:23:41', 'dd-mm-yyyy hh24:mi:ss'), '-1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a37550e3d0137551484480007', '2095729', '455763', to_date('16-05-2012 17:56:07', 'dd-mm-yyyy hh24:mi:ss'), '119°40"45.2''', '34°48"45.9''', to_date('16-05-2012 17:57:17', 'dd-mm-yyyy hh24:mi:ss'), '-1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a37552c570137552fb5570003', '2095729', '455763', to_date('16-05-2012 18:25:49', 'dd-mm-yyyy hh24:mi:ss'), '119°27"56.7''', '34°44"42.6''', to_date('16-05-2012 18:26:59', 'dd-mm-yyyy hh24:mi:ss'), '-1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('402881e73757bfe501375896e17b0020', '2095729', '455763', to_date('17-05-2012 10:17:22', 'dd-mm-yyyy hh24:mi:ss'), '119°48"48.7''', '34°52"11.4''', to_date('17-05-2012 10:18:32', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('402881e73757bfe501375881bb5c0007', '2095729', '455763', to_date('17-05-2012 09:54:16', 'dd-mm-yyyy hh24:mi:ss'), '119°42"23.8''', '34°49"18.1''', to_date('17-05-2012 09:55:26', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('402881e73757bfe501375887c65b000b', '2095729', '455763', to_date('17-05-2012 10:00:52', 'dd-mm-yyyy hh24:mi:ss'), '119°44"52.7''', '34°50"28.4''', to_date('17-05-2012 10:02:02', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('402881e73757bfe50137588dd13b0015', '2095729', '455763', to_date('17-05-2012 10:07:28', 'dd-mm-yyyy hh24:mi:ss'), '119°46"55.3''', '34°51"35.3''', to_date('17-05-2012 10:08:38', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('402881e73757bfe501375893dc0b001d', '2095729', '455763', to_date('17-05-2012 10:14:04', 'dd-mm-yyyy hh24:mi:ss'), '119°48"15.8''', '34°51"52.2''', to_date('17-05-2012 10:15:14', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('402881e73757bfe501375884c0fb0009', '2095729', '455763', to_date('17-05-2012 09:57:34', 'dd-mm-yyyy hh24:mi:ss'), '119°43"31.6''', '34°49"56.2''', to_date('17-05-2012 09:58:44', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('402881e73757bfe50137588acbcb000e', '2095729', '455763', to_date('17-05-2012 10:04:10', 'dd-mm-yyyy hh24:mi:ss'), '119°46"02.9''', '34°51"01.1''', to_date('17-05-2012 10:05:20', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('402881e73757bfe501375890d6ab0017', '2095729', '455763', to_date('17-05-2012 10:10:46', 'dd-mm-yyyy hh24:mi:ss'), '119°47"39.5''', '34°51"47.9''', to_date('17-05-2012 10:11:56', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3754fc0201375504SDAS012s', '100010', '455763', to_date('03-06-2012 17:40:42', 'dd-mm-yyyy hh24:mi:ss'), '120°45"49.4''', '35°03"21.7''', to_date('03-06-2012 17:40:53', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3754S20201375504SDAS0ssS', '100009', '455763', to_date('03-06-2012 17:40:22', 'dd-mm-yyyy hh24:mi:ss'), '120°45"43.4''', '35°03"39.7''', to_date('03-06-2012 17:40:33', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3754fc0201375504SDAS011S', '100008', '455763', to_date('03-06-2012 17:40:12', 'dd-mm-yyyy hh24:mi:ss'), '120°45"27.4''', '35°02"41.7''', to_date('03-06-2012 17:40:41', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a37SSDc0201375504SDAS0156', '100007', '455763', to_date('03-06-2012 17:39:45', 'dd-mm-yyyy hh24:mi:ss'), '120°45"52.4''', '35°02"52.7''', to_date('03-06-2012 17:40:17', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3S54fc0ds1375504SDAS01AS', '100006', '455763', to_date('03-06-2012 17:39:52', 'dd-mm-yyyy hh24:mi:ss'), '120°45"37.4''', '35°02"24.7''', to_date('03-06-2012 17:40:27', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3754fc0201375504SDAS01A5', '100005', '455763', to_date('03-06-2012 17:39:24', 'dd-mm-yyyy hh24:mi:ss'), '120°45"32.4''', '35°01"21.7''', to_date('03-06-2012 17:39:33', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3754fc02013A5504SDAS01A2', '100004', '455763', to_date('03-06-2012 17:39:28', 'dd-mm-yyyy hh24:mi:ss'), '120°45"21.4''', '35°01"46.7''', to_date('03-06-2012 17:39:31', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3754fc02013755045bbe01AS', '100003', '455763', to_date('03-06-2012 17:39:22', 'dd-mm-yyyy hh24:mi:ss'), '120°45"02.4''', '35°01"39.7''', to_date('03-06-2012 17:39:27', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3754fc02013755045bbe0103', '100002', '455763', to_date('03-06-2012 17:39:11', 'dd-mm-yyyy hh24:mi:ss'), '120°44"56.4''', '35°01"27.7''', to_date('03-06-2012 17:39:17', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3754fc02013755045bbe0106', '100001', '455763', to_date('03-06-2012 17:38:31', 'dd-mm-yyyy hh24:mi:ss'), '120°44"50.4''', '35°01"33.7''', to_date('03-06-2012 17:39:43', 'dd-mm-yyyy hh24:mi:ss'), '1');insert into distress (GUID, CLIENT_ID, SERVER_ID, DISTRESS_TIME, DISTRESS_LON, DISTRESS_LAT, CREATE_TIME, VIEW_TAG)
values ('8a8a8a8a3754fc02013755045bbe010d', '100000', '455763', to_date('03-06-2012 17:38:28', 'dd-mm-yyyy hh24:mi:ss'), '120°44"40.4''', '35°01"23.7''', to_date('03-06-2012 17:39:38', 'dd-mm-yyyy hh24:mi:ss'), '1');
想要的结果。
1.CLIENT_ID要唯一的。
2.VIEW_TAG为“1”的。
3.DISTRESS_TIME最小的。
4.按VIEW_TAG为“1”时,DISTRESS_TIME倒序排序。
5.全部列结果都要。随机给出五个CLIENT_ID,查询VIEW_TAG为1时,每个独立CLIENT_ID的最小DISTRESS_TIME值,按DISTRESS_TIME倒序排列。我当前的SQL不能满足按DISTRESS_TIME倒序排列如下:select * from distress t where not exists (select * from distress where client_id = t.client_id and view_tag = t.view_tag and distress_time<t.distress_time) and client_id in ('2095729','100001','100002','100003','100004') and view_tag = '1' 

解决方案 »

  1.   

    加上order by
    select * from distress t 
     where not exists (select 1 from distress 
                        where client_id = t.client_id 
                          and view_tag = t.view_tag 
                          and distress_time<t.distress_time) 
       and client_id in ('2095729','100001','100002','100003','100004') 
       and view_tag = '1' 
     order by t.distress_time desc 
      

  2.   


    最后的排序条件是VIEW_TAG为1时的最大时间那条记录,直接这么排不行啊,只把这五条记录按倒序排列了
      

  3.   

    大概好像明白你的意思,
    就是说按原始数据的DISTRESS_TIME倒序排列,而不是选出来的数据的DISTRESS_TIME倒序排列,对吧?
    select t.* 
      from (select client_id, view_tag, 
                   max(distress_time) as max_distress_time,
                   min(distress_time) as min_distress_time
              from distree where view_tag='1' group by client_id, view_tag) s,
           distress t
     where s.client_id = t.client_id
       and s.view_id = t.view_id
       and s.min_distress_time = t.distress_time
       and s.client_id in ('2095729','100001','100002','100003','100004') 
     order by s.max_distress_time desc