PostgreSQL:在ORDER BY 中使用別名對結果進行排序
在PostgreSQL 中,在ORDER BY 子句中使用別名可能會帶來挑戰。如提供的查詢所示,直接在 ORDER BY 中引用別名可能會導致錯誤訊息。
錯誤說明:
PostgreSQL 要求 ORDER BY 子句引用結果集中存在的欄位。在這個查詢中,別名「global_stock」與最終結果集中的欄位不對應,因此出現錯誤。
解:
有兩種方法解決此問題的方法:
方法1:重新排序SELECT清單:
重新排序SELECT 列表,以便別名顯示為第二個(或後續)表達式。以下查詢將起作用:
此重新排序可確保在 ORDER BY 子句中正確引用別名。
方法 2:使用子查詢:
建立一個包裝原始 select 的子查詢,並在外部查詢的 ORDER BY 子句中使用別名。例如:
在此子查詢方法中,在巢狀 SELECT 語句中使用別名“global_stock”,然後在外部查詢中對巢狀結果集進行排序。
以上是如何在PostgreSQL的ORDER BY子句中正確使用別名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!