选择DISTINCT,其中MySQL中不为null

时间:2012-05-10 17:46:18

标签: mysql sql select null distinct

我有一张表格,例如IDName

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

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

SELECT DISTINCT Name, ID
FROM TestTable

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:1)

我能想到的只有轻微的改进:

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