根据搜索值从表排序中检索数据?? /

时间:2016-12-22 09:49:34

标签: mysql sql node.js postgresql

我有一个名为products

的表
---------------------------------------
 | productid   |  productname          |                           
 |-------------------------------------|
 |      1      | orange juice          |
 |      2      | mutton biriyani       |
 |      3      | mango juice           |
 |      4      | fish biriyani         |
 |      5      | chicken biriyani      |
 |             |                       |
 ---------------------------------------          

我有一个名为'biriyani'的搜索值。

我必须从表中检索所有产品,使得第一组值应与搜索值匹配,然后是剩余数据

示例输出:

chicken biriyani

fish biriyani

mutton biriyani

orange juice

mango juice

1 个答案:

答案 0 :(得分:4)

您可以使用具有两个排序条件的ORDER BY子句。第一个条件首先放置匹配的产品名称,第二个条件按产品名称的字母顺序排列匹配/不匹配的组。

SELECT productname
FROM products
ORDER BY productname LIKE '%biriyani%' DESC,
         productname

在这里演示:

SQLFiddle