Oracle11g 如何在SQL中查找唯一的重复项

Oracle11g 如何在SQL中查找唯一的重复项,oracle11g,Oracle11g,嗨,我想找到唯一的副本和它们的出现次数 Table 1 Id name Amount(in and out) Day 1 ram 100 Sunday 2 ram -100 Sunday 3 ram 100 Monday 4 ram -100 Monday 5 ram 100 Wednesday

嗨,我想找到唯一的副本和它们的出现次数

Table 1 
Id  name  Amount(in and out)  Day
1   ram   100                 Sunday
2   ram  -100                 Sunday
3   ram   100                 Monday
4   ram  -100                 Monday
5   ram   100                 Wednesday
6   ram   100                 Wednesday
Ram在周日从公司得到100英镑,即id=1,金额=100,在同一天他把钱还给了公司,即id=2,金额=100

id=3和id=4的模拟

但是id=5和6是重复的,因为金额没有反转,并且发生在同一天

我想展示一下

Count  name  Amount
2        ram  100
Count是重复值的出现次数

我试过很多逻辑,但没有用。请帮帮我。谢谢

注:重复表示任意一天的两个连续正值/负值

您可以尝试以下查询(假设表名为tbl):

逻辑:如果它是反向的,那么在100和-100的情况下,它将有一个正值和一个负值,所以它们的总和将为零,因此在have子句中,我们忽略它们。

select count(Id),name,amount from tbl group by name,day,amount  having count(id)>1  and sum(amount)>0

按天还是按全局?如果未付金额实际上是
200
,为什么要显示
100
?@TimBiegeleisen的答案是:发生2次(计数)的金额100Ram@McNets按全局方式?所有记录,不按天分区