【问题标题】:Selecting DISTINCT where not null in MySQL在 MySQL 中选择不为空的 DISTINCT
【发布时间】:2012-05-19 08:24:28
【问题描述】:

我有一个表,例如,IDName

有多个行包含空白名称,但也可以有多个具有相同名称的行。我想选择所有IDs,每个名字只计算一次(DISTINCT),但选择所有空白。

以下查询自然只选择一个空白名称。 如何选择所有不同的名称以及所有空白名称?

SELECT DISTINCT Name, ID
FROM TestTable

【问题讨论】:

    标签: mysql sql select null distinct


    【解决方案1】:

    我能想到的唯一一点改进是:

    SELECT DISTINCT Name, ID FROM TestTable where Name <> ''
    union all
    SELECT '', ID FROM TestTable where Name IS NULL OR Name = ''
    

    【讨论】:

      【解决方案2】:
      SELECT DISTINCT Name, ID FROM TestTable where Name <> ''
      union all
      SELECT Name, ID FROM TestTable where Name = ''
      

      【讨论】:

      • 你能解释一下&lt;&gt;吗?我可以弄清楚,但希望看到书面解释=)
      • @John not equal to,与许多编程语言中的!= 相同
      猜你喜欢
      • 2019-04-13
      • 2011-10-08
      • 2020-11-03
      • 2010-12-24
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多