对单词中匹配的起始字母排序顺序

时间:2015-11-10 00:18:57

标签: mysql mysql-workbench

我有一张桌子,我正在尝试使用name上的“apple m”过滤值

select * from table where name like '%apple%m%'
+-------+-------------------------------+------------------------+
|  id   |             name              |          cat           |
+-------+-------------------------------+------------------------+
|  2757 | Apple MacBook                 | Laptops & Accessories  |
|  2777 | Apple Bottom Tops             | Western Wear           |
|  2752 | Apple Monitors                | Desktop Components     |
|  2756 | Apple Desktop & Monitors      | Desktops & Accessories |
|  2778 | Apple Bottom Tunics           | Tops                   |
|  2776 | Apple Selector & Smart Box    | Video & TV Accessories |
|  2787 | Apple Pie Pyjamas             | Girl Clothes           |
|  2773 | Apple Selector & Smart Box    | TV & Video Accessories |
|  2780 | Apple Fun Card Games          | Toys                   |
| 38304 | Snapple Mixer juicer grinders | Kitchen Appliances     |
+-------+-------------------------------+------------------------+

我想对以“apple”和“m”开头的显示值进行排序,如下所示:

+------+--------------------------+------------------------+
|  id  |           name           |          cat           |
+------+--------------------------+------------------------+
| 2757 | Apple MacBook            | Laptops & Accessories  |
| 2752 | Apple Monitors           | Desktop Components     |
| 2756 | Apple Desktop & Monitors | Desktops & Accessories |
|      | ---Rest all after this-- |                        |
+------+--------------------------+------------------------+

2 个答案:

答案 0 :(得分:1)

使用:

ORDER BY name LIKE 'Apple%m%' DESC, name ASC
当名称与模式name LIKE 'Apple%m%'匹配时,

10,否则为{{1}},因此这将首先排序匹配的名称。然后它将按每个组中的名称排序。

答案 1 :(得分:0)

我认为您可以使用以下简单的内容:

$(document).ready(function () { //Dom Ready
    $('#fujian').on('show.bs.modal', function (e) { //Event listener
        var image = $(e.relatedTarget).data('image'); //Fetch image url from modal trigger <a> link
        $(".showimage").attr("src", image); //load image in modal
    });
});

上述查询首先会获得名称以SELECT * FROM your_table WHERE name LIKE 'apple% m%' ORDER BY name; 开头的行,然后会对结果进行排序。

如果您需要区分大小写,则可以使用:

'apple '

Case sensitivity in like