mysql - 如果列为空,如何在配置单元中获取不同的行

标签 mysql sql database hadoop hive

我正在使用配置单元生成我的输出并尝试在我的输出中获取不同的行。

我正在使用 从表中选择不同的 c1、c2、c3、c4

我以表格中的以下行为例

C1       C2    C3    C4

Value1 value2      value4

Value1 value2      value4

此处,C3 列为空白,预期输出只是其中的一列。但是即使在使用了 distinct 关键字之后,我也无法将一行作为输出。我在输出中看到了两条记录。

如果有人以前遇到过这个问题,请帮助我,如果你有可能的解决方案。

最佳答案

DISTINCT 的概念是:它指定从结果集中删除重复行。

假设,您在多个列上使用 distinct,它会考虑每个列的唯一值。

例子:

hive> SELECT col1, col2 FROM t1
    1 3
    1 3
    1 4
    2 5
hive> SELECT DISTINCT col1, col2 FROM t1
    1 3
    1 4
    2 5
hive> SELECT DISTINCT col1 FROM t1
    1
    2

在您的情况下,任何列都可能有不同的值,这就是为什么您得到 2 行作为输出的原因。

请引用HIVE DISTINCT

关于mysql - 如果列为空,如何在配置单元中获取不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37672509/

相关文章:

php - 如何在 PHP 中使用 while 循环按 ID 列出节中的数据?

php - 无法从服务器 2 中的 Apache 连接到服务器 1 上的 MySQL 实例

php - MySqli 准备好的语句在执行语句时不使用更新的变量值

php - foreach循环中的Joomla Mysql查询

mysql - 优化移动窗口 MYSQL 查询

mysql - 使用 IN() 时多次选择一行

sql - 如何选择具有 AND 条件的数据到多行

mysql - 关系数据库设计困惑,有没有比这更好的关联表的方法?

database - Android:数据库文件存储在哪里?

django - 使用代理连接到django中的snowflake