我使用以下工作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”的相似性来订购:
Saint-Emilion
Saint-Emilion grand cru
Saint-Emilion grand cru classé
Lussac-Saint-Emilion
Montagne-Saint-Emilion
Puisseguin-Saint-Emilion
如何通过精选字符串获取数据顺序?
答案 0 :(得分:1)
您可以在saint
中查找Nom_Appellations
的第一次出现:
SELECT Nom_Appellations
FROM appellations
WHERE Nom_Appellations LIKE '%saint%'
ORDER BY LOCATE('saint', lower(Nom_Appellations))
LIMIT 8;
答案 1 :(得分:0)
SELECT Nom_Appellations
FROM appellations
WHERE Nom_Appellations LIKE '%saint%'
ORDER BY case when left(nom_Appellations,5)= 'Saint' then 0 else 1 end, nom_appellations
LIMIT 8;
假设你只想要那些首先出现圣徒,其余按字母顺序排列。