假设我有以下结果:
Mackay
Mackay Airport
Melbourne
Melbourne Airport
Sydney
Sydney Ac
Sydney Airport
我怎样才能让机场总是在他们的顶部?按字母顺序排列,例如:
Mackay Airport
Mackay
Melbourne Airport
Melbourne
Sydney Airport
Sydney
Sydney Ac
对于如何使机场更加突出有点困惑。
最佳答案
不确定以下查询是否涵盖所有情况,但它似乎适用于您的示例数据:
select name,
SUBSTRING_INDEX(name,'Airport',1)
as l,
LOCATE('Airport',name) as r from
(
select 'Sydney Airport' as name
union all
select 'Sydney'
union all
select 'Sydney Ac'
union all
select '
Mackay Airport'
union all
select 'Mackay'
union all
select 'Melbourne'
union all
select 'Melbourne Airport'
)a
order by l asc, r desc
表格看起来像
select name
from table1
ORDER BY SUBSTRING_INDEX(name,'Airport',1) ASC,
LOCATE('Airport',name) DESC
关于php - 在没有定义排序规则的情况下订购 MySQL 字符串结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14969993/