對組合 SELECT 和 UNION 查詢的結果進行排序
使用 SELECT
組合多個 UNION
查詢提出了一個常見的挑戰:如何對結果資料集進行排序。 讓我們探討一下這個問題及其解決方案。
挑戰
從各個表檢索資料或使用由 SELECT
連接的多個 UNION
語句時,實作特定的列排序順序可能很棘手。
詳細說明
考慮這個場景:
<code class="language-sql">SELECT id, name, age FROM Student WHERE age < 20 UNION SELECT id, name, age FROM Student WHERE age >= 20;</code>
此查詢從 Student
表中的兩個不同群組中選取資料。 但是,放置在任一 ORDER BY name
語句中的簡單 SELECT
子句都不會正確地對組合結果進行排序。
解
正確的方法是在ORDER BY
語句之後應用子句。 以下查詢示範了正確的方法:UNION
<code class="language-sql">SELECT id, name, age FROM Student WHERE age < 20 UNION SELECT id, name, age FROM Student WHERE age >= 20 ORDER BY name;</code>這確保
子句對 ORDER BY
操作產生的完整資料集進行操作,從而保證所需的排序輸出。 UNION
以上是如何結合 UNION 對多個 SELECT 查詢的結果進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!