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按全局方式?所有记录,不按天分区