最近要实现一个功能,头疼了半天,最终使用这个函数解决了
问题:
一个年级表
一个学生表
实现效果:
实现sql:
SELECT
*
FROM
T_CLASS AA
LEFT JOIN (
SELECT
*
FROM
(
SELECT
STU_CLASS_ID
, STU_AGE
, ROW_NUMBER() OVER (PARTITION BY STU_CLASS_ID ORDER BY STU_AGE DESC) AS NUM
FROM
T_STU
) TT
WHERE
TT.NUM = 1
) BB
ON AA.CLASS_ID = BB.STU_CLASS_ID
最后出现的结果就是预期效果,此方案适用与Oracle.
--仅以笔记记录工作中遇到的问题及解决方案