SQL Query返回始终具有相同值的记录

时间:2014-01-17 20:51:31

标签: sql

我正在学习SQL并做一些练习。我不能给你确切的场景,因为我正在练习的网站不希望任何解决方案直接在网上找到,所以我会用其他的话来解释这种情况。我遇到的问题是使用带有X,Y和Z列的XYZ表。列X可以有重复项,列Z也可以。我需要找到的是Z在Z中始终具有相同的值。所以

X     Y      Z
1     ?      a
1     ?      a
2     ?      b
2     ?      c
3     ?      c
3     ?      a

会给我1,因为当X是1时,Z总是a。

我真正的问题是我觉得我缺少一些SQL知识才能实现这一目标。我很感激,如果有人能给我一个提示,而不是解决方案,但可能是我缺少的SQL知识的链接,或者可以让我这样做的SQL语句的简要说明。

否则祝你有个美好的一天。 大卫。

编辑:SELECT X FROM XYZ GROUP BY X HAVING COUNT(DISTINCT Z)= 1工作,我理解得很好。现在我无法理解的是如何将Z列添加到结果集中。

2 个答案:

答案 0 :(得分:1)

select x, min(z)
from tab
group by x 
having min(z) = max(z) 
-- or
having count(distinct z) = 1

答案 1 :(得分:0)

相关问题