首先返回具有特定值的行
在某些数据库查询中,可能需要优先显示包含特定值的行。例如,考虑下面的表:
表: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中文网其他相关文章!