如何按列中可能存在或不存在的数据拆分查询结果?

时间:2016-07-30 03:50:43

标签: sql postgresql sql-order-by

我的查询结果如下:

-------------------
| id  | c1 |  c2  |
-------------------
|  1  |  3 |  4   |
-------------------
|  2  |  4 |  3   |
-------------------
|  3  |  5 |  4   |
-------------------

我希望c2以3为第一行(3来自另一个查询),如下所示:

-------------------
| id  | c1 |  c2  |
-------------------
|  2  |  4 |  3   |
-------------------
|  1  |  3 |  4   |
-------------------
|  3  |  5 |  4   |
-------------------

但其他行也必须是。

1 个答案:

答案 0 :(得分:1)

你可以ORDER BY布尔表达式:

...
ORDER BY (c2 = 3) DESC NULLS LAST, id;

相关(附说明):