Postgres订单行为现有字段

时间:2013-11-17 02:04:52

标签: sql postgresql sql-order-by

我有表users,在此表中我有列头像,用于保存用户头像的路径。如何命令我的查询从具有头像的用户开始,然后在他们之后。 例如:

表:

 id|avatar|
___|______|
 1 |  p1  |
 2 |      |
 3 |      |
 4 |  p4  |

结果:

 id|avatar|
___|______|
 1 |  p1  |
 4 |  p4  |
 2 |      |
 3 |      |

1 个答案:

答案 0 :(得分:2)

假设23的空白是NULLS,那么ORDER BY已经做了你想要的;当你升序排序时,ORDER BY默认将NULLS放在最后:

  

如果指定了NULLS LAST,则空值将在所有非空值之后排序;如果指定了NULLS FIRST,则空值将在所有非空值之前排序。如果两者都未指定,则在指定或隐含NULLS LAST时默认行为为ASC,而在指定NULLS FIRST时为DESC(因此,默认行为为空值)大于非空值。)

如此简单:

order by avatar

可能会成功。如果你想明确它,那么:

order by avatar nulls last

order by avatar asc nulls last
相关问题