1、row_number()方法
1
2
3
4
5
6
7
8
9
10
11
|
SELECT row_number () over ( PARTITION BY v.action_id ORDER BY v.action_exp_id ) rank, v.* FROM test_view20180122 v WHERE v.rank = 1 |
根据重复字段进行分组后排序,取rank=1的记录
2、使用rownum,效率最高
1
2
3
4
5
6
7
8
9
10
11
12
13
|
SELECT * FROM test_view20180122 v WHERE v.rowid > ( SELECT min (v1.rowid) FROM test_view20180122 v1 WHERE v.action_id = v1.action_id ) |
但是对于有3条及以上重复记录的表还有问题,因为大于min()最小值的记录有多条,所以结果集还是会重复。
--------------------迷人的分割线--------------------
作者:架构师小跟班
开发者导航: http://www.codernav.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出,以免更多的人被误导。
作者:架构师小跟班
开发者导航: http://www.codernav.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出,以免更多的人被误导。