Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle:如何选择不重复的行_Sql_Oracle - Fatal编程技术网

Sql Oracle:如何选择不重复的行

Sql Oracle:如何选择不重复的行,sql,oracle,Sql,Oracle,我必须去掉那些值为X的,重复的。如果他们没有一个X,他们留下来,如果他们有一个X,但没有重复,他们留下来。你能帮忙吗 桌子 Id值 1.A. 2.十,。 3.十,。 3.C 3.D 4.十,。 4.F 5.G 6.Z 7.X 8.X 8.G 查询结果应为: 1. A 2. X 5. G 6. Z 7. X 1.A. 2.X 5.G 6.Z 7.X 也许这有助于: SELECT Id, Value FROM(SELECT Id, Value,

我必须去掉那些值为X的,重复的。如果他们没有一个X,他们留下来,如果他们有一个X,但没有重复,他们留下来。你能帮忙吗

桌子

Id值 1.A. 2.十,。 3.十,。 3.C 3.D 4.十,。 4.F 5.G 6.Z 7.X 8.X 8.G 查询结果应为:

1. A 2. X 5. G 6. Z 7. X 1.A. 2.X 5.G 6.Z 7.X 也许这有助于:

SELECT Id,
       Value
  FROM(SELECT Id,
              Value,
              COUNT(*) OVER (PARTITION BY Id) cnt,
              SUM(DECODE(Value, 'X', 1, 0)) OVER (PARTITION BY Id) sumx
         FROM your_table
      )
 WHERE cnt = 1 OR sumx = 0;
这还不够吗

SELECT "Id", MIN("Value") "Value" FROM T
GROUP BY "Id" HAVING COUNT("Id") = 1
ORDER BY "Id"
它也将放弃给定id的多个only-non-X值。至少,根据您的样本数据,它似乎产生了预期的结果:

ID  VALUE
1   A
2   X
5   G
6   Z
7   X

请参见

在选择查询中使用
distinct
关键字如果您想查看唯一的
列值我无法理解您的问题,您能更好地解释一下吗?感谢从表1组中选择id,id的计数(id)=1如果它们是重复的,但都没有X?,例如9A、9C,但没有9X,会发生什么。您是退回9A和9C,还是只退回其中一个?如果是,哪一个?如果它们是重复的,所有的都有一个X怎么办?我做得很好,非常感谢。。这个社区有规则。。!!我很感激各位,并期待着为之做出贡献和付出。。祝大家今天愉快!!:)(重复评论,因为感觉是一样的..谢谢)我做得很好,非常感谢。。这个社区有规则。。!!我很感激各位,并期待着为之做出贡献和付出。。祝大家今天愉快!!:)
ID  VALUE
1   A
2   X
5   G
6   Z
7   X