先傳回具有特定值的行
在某些資料庫查詢中,可能需要優先顯示包含特定值的行。例如,考慮下面的表:
表:Users
id | name | city |
---|---|---|
1 | George | Seattle |
2 | Sam | Miami |
3 | John | New York |
4 | Amy | New York |
5 | Eric | Chicago |
6 | Nick | New York |
如果我們希望先檢索城市列包含“New York”的行,然後檢索按城市的字母順序排列,我們可以使用以下查詢:
SQL Server、Oracle和DB2:
ORDER BY CASE WHEN city = 'New York' THEN 1 ELSE 2 END, city
此查詢使用 CASE 表達式為以「New York」作為城市值的行分配優先權 1,否則優先權為 2。然後,ORDER BY 子句使用此優先權以及城市列進行排序。因此,將首先傳回包含「New York」的行,然後傳回按城市字母順序排列的其餘行。
以上是如何確定資料庫查詢中特定行的優先順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!