有一个名为Products的表,其中有100列。我正在运行一个不同的column1,column2,column3 .... column6 postgresql查询,结果如下所示:
2 Product A 300 2017 Null Null
2 Product A 300 2017 Null Null
由于值为空,所以我得到了两行,而不是一行。如何解决呢?非常感谢您的帮助。
答案 0 :(得分:1)
null
与自身不同,对引擎盖下的平等性进行了不同的检查。代替
select distinct field1, field2, ..., fieldn
您可以使用如下的select子句:
select distinct coalesce(field1, 'Empty') AS field1, ..., coalesce(fieldn, 'Empty') AS fieldn
对于可为空的字段,您只需使用coalesce
。
答案 1 :(得分:0)
删除上面重复项的一种方法是使用GROUP BY
您想要为其提供不同值的列。像这样
SELECT column1, column2, column3, ...,column6
FROM sometable
GROUP BY column1, column2, column3, ...,column6