我在 PostgreSQL 8.3 中有一个简单的 SQL 查询,它捕获了一堆评论。我提供一个sorted的值列表IN
构造在WHERE
clause:
SELECT * FROM comments WHERE (comments.id IN (1,3,2,4));
这会以任意顺序返回评论,在我看来,这些评论恰好是像这样的id1,2,3,4
.
我希望结果行像列表中的一样排序IN
构造:(1,3,2,4)
.
如何实现这一目标?
您可以使用(在 PostgreSQL 8.2 中引入)VALUES (), () 轻松完成此操作。
语法如下:
select c.*
from comments c
join (
values
(1,1),
(3,2),
(2,3),
(4,4)
) as x (id, ordering) on c.id = x.id
order by x.ordering
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)