首頁 >資料庫 >mysql教程 >如何在 SQL 查詢中對具有特定值的行進行優先排序?

如何在 SQL 查詢中對具有特定值的行進行優先排序?

Linda Hamilton
Linda Hamilton原創
2025-01-05 05:01:09766瀏覽

How to Prioritize Rows with a Specific Value in SQL Queries?

首先傳回具有特定值的行

您需要修改查詢以根據特定列值對行進行優先排序,同時保持字母順序對於剩餘的行。

要實現此目的:

SQL伺服器、Oracle、DB2 和其他

使用以下語法:

ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city

使用以下語法:
  • 在此程式碼中:

    • CASE語句建立優先權列:
    如果city 等於“紐約”,則優先權為1.
  • 否則優先權為2.

    • ORDER BY對行進行排序:
    首先,依照優先順序(有「New York」的行排在前面)。
然後,按字母順序排列按城市列。

範例
SELECT *
FROM Users
ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city;

使用提供的表,此查詢:
 - id - name -  city
 - 3    John    New York
 - 4    Amy     New York
 - 6    Nick    New York
 - 1    George  Seattle
 - 2    Sam     Miami
 - 5    Eric    Chicago

將傳回以下結果:此查詢有效傳回首先顯示「紐約」的行,然後按城市按字母順序排列其餘行。

以上是如何在 SQL 查詢中對具有特定值的行進行優先排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn