我需要一个SELECT
语句,该语句将返回以下内容:对于具有相同phoneNumber
的行,我只想返回第一行。对于NULL
的行,我想返回所有这些。使用DISTINCT
进行了尝试,但是对于NULL
显然不起作用,因为它只会返回1 NULL
行。因此,我需要的数据如下所示:
答案 0 :(得分:0)
您可以使用UNION
运算符组合两个查询的结果集。
在第一个查询中,您将仅获取那些
有一个电话号码,您将使用GROUP BY
获取不同的电话号码。
在第二个查询中,您将获取所有没有电话号码的行。
类似的事情应该起作用:
SELECT * FROM `table`
WHERE `phoneNumber` IS NOT NULL
GROUP BY phoneNumber
UNION ALL
SELECT * FROM `table`
WHERE `phoneNumber` IS NULL