【问题标题】:SQL: Data CleaningSQL:数据清洗
【发布时间】:2018-07-01 10:38:30
【问题描述】:

我面临一个我不知道如何分类的问题。所以,请原谅我的通用标题。我有一个像这样的数据集:

表 1:列 1、列 2、列 3。 根据我的业务逻辑,对于一对“Column1 Column2”,Column3 只能有一个唯一值。所以下表是有问题的,因为第二个条目:

Table1
Column1  Column2  Column3
A1       B1       R
A1       B1       O   << ERROR! for A1-B1 pair only one value on column3 is accepted
A2       B2       R
A2       B3       J
A3       B3       K
A4       B5       K

从上表中我想找到有问题的条目:

A1       B1       R
A1       B1       O

提前感谢您的帮助!

【问题讨论】:

    标签: data-cleaning


    【解决方案1】:

    使用您的示例列名,您可以运行以下查询以仅查看在第 3 列中具有多个值的 Column1/Column2 对。

    SELECT Column1, Column2, COUNT(DISTINCT Column3) as Column3
    FROM Table1
    GROUP BY Column1, Column2
    HAVING COUNT(DISTINCT Column3) > 1
    

    您可以省略 HAVING 行以查看 Column1/Column2 对的完整列表。

    【讨论】:

      猜你喜欢
      • 2021-02-04
      • 2019-03-15
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      • 2020-10-01
      相关资源
      最近更新 更多