需求:依 documentno 分組,取 time 最大(最新)的一筆。
NO TIME NAME 1001 20141226 zhangsan 1001 20141227 lisi 1002 20141228 wangwu 1002 20141229 zhaoliu
SELECT * FROM ( SELECT RANK() OVER (PARTITION BY documentno ORDER BY time DESC) r, a.* FROM test a ) WHERE r = 1;
NO TIME NAME 1001 20141227 lisi 1002 20141229 zhaoliu
RANK() 同分同名次,若要嚴格取一筆可用 ROW_NUMBER()。PARTITION BY 定義分組欄位,ORDER BY 定義組內排序。