我使用以下工作的mysql查询:

SELECT Nom_Appellations
FROM appellations
WHERE Nom_Appellations LIKE '%saint%'
LIMIT 8


我有这个结果:

Lussac-Saint-Emilion
Montagne-Saint-Emilion
Puisseguin-Saint-Emilion
Saint-Emilion
Saint-Emilion grand cru
Saint-Emilion grand cru classé


但我想按字符串“圣”的相关性进行排序,如下所示:

Saint-Emilion
Saint-Emilion grand cru
Saint-Emilion grand cru classé
Lussac-Saint-Emilion
Montagne-Saint-Emilion
Puisseguin-Saint-Emilion


我怎样才能通过特色字符串获得数据顺序?

最佳答案

您可以在saint中查找Nom_Appellations的首次出现:

SELECT Nom_Appellations
FROM appellations
WHERE Nom_Appellations LIKE '%saint%'
ORDER BY LOCATE('saint', lower(Nom_Appellations))
LIMIT 8;

09-07 03:01