我有下表: 6 [3 |* c* K8 B' R' g) a
-----------------------------------------------------------ID oDate oName oItem oQty oRemarks-----------------------------------------------------------2016年11 -01-01 A 5001 2 2016016年 2016016-01-01 A 002 1 test2016年3 -01-01 B -01-02 B 2016 -01-02 C 001 26 2016-01-03 B 2016 -01-03 B ff.我想得到每个名字的最新记录。所以结果应该是: / L# N0 t9 F0 m2 d& F-----------------------------------------------------------oDate oName oItem oQty oRemarks-----------------------------------------------------------2016-01-01 A 2016 2016 -01-01 A test2016-01-02 C -01-03 B -01-03 B ff.谁知道该怎么办才能得到这个结果? + C8 G2 K" d% S1 J& ]谢谢你。/ \4 @5 _1 H |- Y2 A& i
- `5 g Q5 |4 `1 R( k8 D! ]. a解决方案: 9 i2 R) _# V5 k w6 @& t: I) X
该rank窗口子句允许你,好了,根据一些分区排名行,然后你可以只选择顶部的: 1 p5 a# O$ v. e, W- B% L: K: lSELECT oDate,oName,oItem,oQty,oRemarksFROM (SELECT oDate,oName,oItem,oQty,oRemarks, RANK() OVER (PARTITION BY oName ORDER BY oDate DESC) AS rk FROM my_table) tWHERE rk =