按照IN列表顺序排列结果
在SQL中,一个常见的情况是使用IN运算符根据指定的值集检索数据。在这种情况下,可能需要按照IN列表中的顺序排列结果。
在8.4之前的PostgreSQL版本中,实现此排序的一种方法是使用相关子查询。但是,对于8.2及更高版本,可以使用更有效的方法:
VALUES函数
PostgreSQL在8.2版本中引入了VALUES函数,该函数允许创建内存表。此函数可用于构建一个包含所需值顺序的临时表:
<code class="language-sql">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</code>
在此查询中:
以上是如何对 SQL 结果进行排序以匹配 IN 列表中值的顺序?的详细内容。更多信息请关注PHP中文网其他相关文章!