DISTINCT ON列仅用于非空值

时间:2011-11-23 01:08:09

标签: sql ruby-on-rails postgresql ruby-on-rails-3.1

如何声明查询仅对某些列的非空值使用 DISTINCT ,但仍保留列值为null的记录,我正在尝试修改以下查询:

我正在尝试修改以下查询

distinct

所以,基本上我希望第二个查询在parent_id IS NOT NULL 时返回按parent_id分组的所有邮件,并返回 ALL parent_id IS NULL 时的记录。

我正在使用PG 9.0.4和Rails 3.1 - 感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:5)

   Select Distinct ON (parent_id) * 
   from messages 
   WHERE parent_id IS NOT NULL 
 UNION 
   Select * from messages where parent_id IS NULL