日期                     房间                  号码    其他字段  ID
2018-9-1             101                      1       ...            11
2018-9-1             101                      2       ...           12
2018-9-1             101                      3       ...           13
2018-9-1             102                      1       ...           14
2018-9-1             102                      2       ...           15
  
2018-9-2             102                       1       ...           16
2018-9-2             102                       2       ...           17
2018-9-2             102                       3       ...            18
2018-9-2             103                       1       ....           19
2018-9-2             103                       2       ...            20
2018-9-2             103                       3       ...            21
2018-9-2             103                       4       ...            22

。结果:
日期                     房间                  号码   其他字段   ID
2018-9-1             101                      1       ...            11
2018-9-1             102                      1       ...             14
2018-9-2             102                       1       ...           16
2018-9-2             103                       1       ...           19
。。求各位大侠指点~~

解决方案 »

  1.   

    min(to_number(ID)) over(partition by trunc(日期), 房间)
      

  2.   

    select * from(select 日期,房间,号码,ID,row_number() over (partition by 日期,房间 order by 号码 asc) rn from Table) where rn=1
      

  3.   

    具体表名称和字段,你自己加上
    SQL实现如下:select 日期,房间,号码,其他字段,ID
      from (select t.*,row_number() over (partition by 日期,房间 order by 号码) rn from 表名称 t) 
     where rn=1