有logs表的结构为
uesrid | status | order
111 | 5 | 7
111 | 0 | 9
111 | 1 | 8
222 | 3 | 3
222 | 1 | 2
222 | 2 | 4
333 | 3 | 10
请问如何先以order desc排序,并通过userid去重,同时获取userid,status,order的值。
想要的结果为
uesrid | status | order
111 | 0 | 9
222 | 2 | 4
333 | 3 | 10
在mysql下,可以通过以下SQL获得。
SELECT * FROM (SELECT * FROM `logs` ORDER BY `order` DESC) AS a GROUP BY a.userid;
但是oracle这么写语法就报错,请问oracle该如何实现?
用开窗函数就可以呀:
