假设我提取了一些数据集。Oracle:以最大日期记录
即
SELECT A, date
FROM table
我只想用最大日期(A的每个值)的记录。我可以写
SELECT A, col_date
FROM TABLENAME t_ext
WHERE col_date = (SELECT MAX (col_date)
FROM TABLENAME t_in
WHERE t_in.A = t_ext.A)
但我的查询是很长...有使用分析函数做同样的一个最简洁的方式?
你是什么意思与关系? – Revious 2012-01-18 13:37:45
@ Gik25 - 如果在TABLENAME中有两行具有相同的A值和SOME_DATE_COLUMN相同的值,那么就会发生联系。你原来的查询会返回这两行,就像我的。另一方面,如果您使用'ROW_NUMBER'函数,则只返回两行中的一行(尽管选择返回哪一行将是任意的)。 – 2012-01-18 14:45:01