oracle 指定字段排序并去重?

查看:106
本文介绍了oracle 指定字段排序并去重?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

有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该如何实现?

解决方案

用开窗函数就可以呀:

这篇关于oracle 指定字段排序并去重?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆