依照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中文網其他相關文章!