MySQL顺序:在查询之上放置匹配内容的行?

lis*_*aro 2 mysql sql

我正在运行一个查询,以获得具有一定年龄的用户.例如AGE <= 5

所以查询获取这些行:

Country | Age
US        5
US        20
AR        3
ES        5
US        2
Run Code Online (Sandbox Code Playgroud)

问题是为了保持相关性,我想首先显示与用户所在国家/地区匹配的结果,以美国为例,它应该是这样的:

Country | Age
US        2
US        5
US        20
US        2
AR        3
ES        5
Run Code Online (Sandbox Code Playgroud)

我知道如何使用两个查询来执行此操作,首先获取美国结果,然后其余部分按年龄排序,但我想知道是否可以通过一个查询来获取结果.

mu *_*ort 5

您可以像这样使用ORDER BY:

order by case country when 'US' then 1 else 2 end, country, age
Run Code Online (Sandbox Code Playgroud)

那会把美国放在第一位,然后剩下的就会出现并排序country.