选择其中ColA = ColB的行,然后添加一个新列,该列指示是否重复ColA中的原始数据。
我试图弄清楚如何查询一个表(该表实际上是一个结果集,因此它将是一个子查询),将其按
ColA=ColB
分组(请参见下文),然后一步创建所有计算字段。
所以,如果我的测试数据看起来像
ColA ColB ColC
1 1 aaa
1 2 bbbb
1 3 cccc
2 2 dddd
3 3 eeee
3 4 ffff
3 5 gggg
3 6 hhhh
4 4 iiii
5 5 jjjj
6 6 kkkk
6 7分
6 8毫米
我只想检索ColA=ColB
中的行,并添加一个新列,告诉我是否重复了ColA
中的原始数据。见下文。
ColA ColB ColC倍数
1 1 aaaa是
2 2 dddd否
3 3 eeee是
4 4 iiii否
5 5 jjjj否
6 6 kkkk是
有人可以帮我解决语法问题吗?我一直在玩Group By \和SubSelects都没有用。我是否需要对case字段使用case语句?
没有找到相关结果
已邀请:
4 个回复
俯乡骚钵皆
1.您可以使用Oracle分析功能Lead来浏览您的结果集,以查看colA是否与下一行相同(在订购后)。
2.或者,您可以获取每个COLA值的计数并进行比较以查看是否存在重复...
它们都同样简单,但是我建议使用解析函数方法,因为我发现对于过去使用过的所有查询,它通常都更快。
磐乓铝举
在性能上,此SQL大约等于Rajesh的第一个查询。因此,您可以选择自己更喜欢的一种。
问候, 抢。
昧伎
列进行子选择。无需分组。写类似:
布埃郝卞簿
再次感谢你!