【问题标题】:DISTINCT, MAX and list value from join table连接表中的 DISTINCT、MAX 和列表值
【发布时间】:2018-09-14 08:25:28
【问题描述】:

如何在下面的连接表中组合 distinct 和 max?

Table_details_usage

UID | VE_NO |  START_MILEAGE  |  END_MILEAGE
------------------------------------------------ 
1   |  ASD  |    410000       |  410500  
2   |  JWQ  |    212000       |  212350 
3   |  WYS  |    521000       |  521150
4   |  JWQ  |    212360       |  212400 
5   |  ASD  |    410520       |  410600 


Table_service_schedule

SID | VE_NO |  SV_ONMILEAGE  |  SV_NEXTMILEAGE
------------------------------------------------ 
1   |  ASD  |    400010      |  410010  
2   |  JWQ  |    212120      |  222120 
3   |  WYS  |    511950      |  521950
4   |  JWQ  |    212300      |  222300 
5   |  ASD  |    410510      |  420510 


如何获得如下显示(仅最大值)?

从 Table_service_schedule (SV_NEXTMILEAGE) 中获取最大值并从 Table_details_usage (END_MILEAGE) 中获取最大值

SID | VE_NO |  SV_NEXTMILEAGE | END_MILEAGE 
-------------------------------------------- 
5   |  ASD  |    420510       | 410600
4   |  JWQ  |    222300       | 212400
3   |  WYS  |    521950       | 521150

【问题讨论】:

    标签: join max distinct


    【解决方案1】:

    以下内容:

    SELECT 
        SID, 
        VE_NO, 
        SV_NEXTMILEAGE, 
        (select max(END_MILEAGE) from Table_details_usage d where d.VE_NO = s.VE_NO) END_MILEAGE 
    FROM Table_service_schedule s 
    WHERE SID = (SELECT max(SID) FROM Table_service_schedule s2 WHERE s2.VE_NO = s.VE_NO)
    

    如果 id:s 不按顺序排列,可能还需要将直接值 ov SV_NEXTMILEAGE 更改为 max...

    【讨论】:

      猜你喜欢
      • 2021-12-15
      • 1970-01-01
      • 2017-11-15
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      相关资源
      最近更新 更多