各位 表如下
STORE_SID       PROD_SID    PRICE       VERSION
1         5            1.3        1
1         5            1.4        2
1         3           1.7        3
2         2            2.5        1
2         2            2.6        3
2         3            3.6        2
3         1            1.8        1
3         1            1.9        2我想查出 STORE_SID ,PROD_SID    两个字段若重复 从中取 VERSION 较大的 PRICE 字段的值 就是distinct( STORE_SID       PROD_SID)后,取VERSION较大的 PRICE 谢谢!在线等,若不明白我的意思,可回复,马上回复您。

解决方案 »

  1.   

    各位 表如下
    STORE_SID       PROD_SID    PRICE       VERSION
    1         5            1.3        1
    1         5            1.4        2
    1         3           1.7        3
    2         2            2.5        1
    2         2            2.6        3
    2         3            3.6        2
    3         1            1.8        1
    3         1            1.9        2我想查出 STORE_SID ,PROD_SID    两个字段若重复 从中取 VERSION 较大的 PRICE 字段的值 就是distinct( STORE_SID       PROD_SID)后,取VERSION较大的 PRICE 谢谢!在线等,若不明白我的意思,可回复,马上回复您。
      

  2.   

    select STORE_SID,PROD_SID,PRICE,VERSION
    from (select STORE_SID,PROD_SID,PRICE,VERSION,
          rank() over (partition by STORE_SID,PROD_SID order by PRICE desc) rk from t)
    where rk=1;
      

  3.   

    试下先,感谢感谢。
    我先去查下rank()函数
      

  4.   

    select STORE_SID,PROD_SID,PRICE,VERSION
    from (select STORE_SID,PROD_SID,PRICE,VERSION,
    rank() over (partition by STORE_SID,PROD_SID order by VERSIONdesc) rk from t)
    where rk=1;测试通过,感谢!