从select中排除具有多个相同值/重复的行

li9yvcax  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(315)

如果行有重复项,如何在没有行的情况下进行选择

ID | Amount | Status | FK
---+--------+--------+---
1  | -1000  |    T   | 10
2  | -1500  |    T   | 11
3  | -100   |    T   | 12
4  | -200   |    T   | 13
5  | -300   |    T   | 14
6  |  300   |    R   | 14

状态说明:t=交易,r=退款
我怎么才能得到id为1,2,3,4,不包括5和6的数据呢?

7kjnsjlb

7kjnsjlb1#

只是另一个选择是与领带配合使用一个窗口函数
例子

Select top 1 with ties *
 From  YourTable
 Order By sum(1) over (partition by FK)

退货

ID  Amount  Status  FK
1   -1000   T       10
2   -1500   T       11
3   -100    T       12
4   -200    T       13
c86crjj0

c86crjj02#

请使用下面的查询,

select * from table_name
where fk not in
(select fk from table_name group by fk having count(1) > 1);

相关问题