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

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

Linda Hamilton
發布: 2025-01-05 05:01:09
原創
815 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板