0

所以我对 Oracle 的了解是有限的,我想改进它。但我被困住了;

SELECT c.parent_id 
  FROM x.atable c
  JOIN y.anothertable e
    ON c.obj_id = e.child_id
 WHERE e.child_type = 'G'
 ORDER BY c.PARENT_ID

这带来了结果

1
2
2
2
3
3
4

我想要做的是分组,但只有发生超过 1 个结果的那些(所以结果 2 和 3)。

所以我做了这个

SELECT c.parent_id 
  FROM x.atable c
  JOIN y.anothertable e
    ON c.obj_id = e.child_id
 WHERE e.child_type = 'G'
 GROUP BY c.parent_id
HAVING COUNT (DISTINCT c.PARENT_id > 1)
 ORDER BY c.PARENT_ID

但我不太明白我的查询有什么问题。正如我所说,我不是最有经验的 SQL,所以解释一下就好了。我在“有计数”部分得到它。我知道我的 group by 正在工作。

4

1 回答 1

3

括号放错地方了

SELECT c.parent_id FROM x.atable c
JOIN y.anothertable e
ON c.obj_id = e.child_id
WHERE e.child_type = 'G'
GROUP BY c.parent_id
HAVING COUNT (DISTINCT c.PARENT_id) > 1
ORDER BY c.PARENT_ID
于 2013-08-16T16:50:43.913 回答