我正在使用配置单元生成输出,并尝试在输出中获得不同的行。
我正在使用 select distinct c1,c2,c3,c4 from table
.
我以下表中的行为例
C1 C2 C3 C4
Value1 value2 value4
Value1 value2 value4
这里,列c3是空白的,预期的输出只是其中的一列。但是,即使使用distinct关键字,我也无法获得一行作为输出。我在输出中看到了这两个记录。
请帮助我,如果有人曾经面对过这个问题,如果你有一个可能的解决办法。
2条答案
按热度按时间yhuiod9q1#
是的,就是这样,很难调试。列c3可能包含既不是null也不是“”的值。你应该考虑
casting
c3列。myzjeezk2#
distinct的概念是:它指定从结果集中删除重复行。
假设您在多个列上使用distinct,它将考虑每个列的唯一值。
例子:
在您的例子中,任何列都有可能有不同的值,这就是为什么您得到两行作为输出。
请参考Hive