如果我有一个类似这个例子的表:
- Table: Users
- id - name - city
- 1 George Seattle
- 2 Sam Seatle-2
- 3 John New York
- 4 Amy New York-2
- 5 Eric Chicago
- 6 Nick New York-3
使用该表我想查询返回包含New York的行,New York-2,----然后按城市按字母顺序排列其余行。这可以只使用一个查询吗?
答案 0 :(得分:2)
order by
子句支持多个键,包括表达式:
order by (case when city like 'New York%' then 1 else 2 end),
city
答案 1 :(得分:1)
SELECT id,
name,
city
ORDER BY (
CASE
WHEN city LIKE 'New York%'
THEN 1
ELSE 2
END),
city ASC;