当前位置: 代码迷 >> Oracle管理 >> sql求相助
  详细解决方案

sql求相助

热度:145   发布时间:2016-04-24 04:14:01.0
sql求帮助

表结构如上图,求帮写个sql查询按cno分组,每组中score中最高的sno、cno、score数据
------解决思路----------------------
引用:

表结构如上图,求帮写个sql查询按cno分组,每组中score中最高的sno、cno、score数据

SELECT T1.* FROM T T1,(SELECT CNO,MAX(SCORE) MAX_SCORE FROM T) T2 WHERE T1.CNO=T2.CNO AND T1.SCORE=T2.MAX_SCORE

------解决思路----------------------
提供一种分析函数的写法,这种写法执行效率应该是目前最好的
SELECT
MAX(SNO)keep(dense_rank last order by SCORE) SNO,
CNO,
max(SCORE)
from T
GROUP BY CNO
  相关解决方案