当前位置: 代码迷 >> Oracle管理 >> 请问个查询语句
  详细解决方案

请问个查询语句

热度:15   发布时间:2016-04-24 05:47:02.0
请教个查询语句
数据库表table里有id       name       banben(版本)(该列值为数字)三列
其中id唯一,name不唯一,banben不唯一,但是name和banben组合起来是唯一的,找出name=gis且banben(版本)的数值最高的行的id
这sql语句怎么写?
谢谢!

------解决方案--------------------
SELECT ID,NAME,BANBEN
FROM TABLENAME A INNER JOIN (
SELECT MAX(BANBEN) OVER(PARTITION BY NAME ORDER BY NAME) AS MAXBANBEN,
ROWID AS RID
FROM TABLENAME
WHERE NAME = 'gis '
) B ON A.ROWID = B.RID AND A.SAL = B.MAXBANBEN
  相关解决方案