mysql查询根据字符串位置排序问题

来源:互联网 发布:flac转mp3 for mac 编辑:程序博客网 时间:2024/05/17 06:19

在stackoverflow看到如下问题:

Babyfood, plums, bananas and rice, strainedBananas, dehydrated, or banana powderBananas, rawBread, banana, prepared from recipe, made with margarineCAMPBELL Soup Company, V8 SPLASH Juice Drinks, Strawberry BananaCAMPBELL Soup Company, V8 SPLASH Smoothies, Strawberry BananaCAMPBELL Soup Company, V8 V. FUSION Juices, Strawberry Banana

需要根据 banana 在title中出现的顺序排序,如 Bananas,raw 排在CAMPBELL...banana 前面,因为前者 banana在第一位,而后者在最后一位,SQL语句:

SELECT  title,LOCATE('banana',title)FROM myTable   WHERE  LOCATE('banana',title) > 0ORDER BY LOCATE('banana',title) 

也可以

SELECT title, INSTR(title, 'banana') as indexFROM tableWHERE title LIKE '%banana%'ORDER BY index != 0, index