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

Posted

技术标签:

【中文标题】根据搜索值从表排序中检索数据??/【英文标题】:retrieving data from table ordering based on search value??/ 【发布时间】:2017-05-07 21:43:48 【问题描述】:

我有一个名为 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

【问题讨论】:

我认为你应该使用 CONTAINS 或类似操作 【参考方案1】:

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

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

演示在这里:

SQLFiddle

【讨论】:

以上是关于根据搜索值从表排序中检索数据??/的主要内容,如果未能解决你的问题,请参考以下文章

sql从表中检索数据并使它们链接

通过SQL根据匹配模式从表中检索名称?

如何从表中检索我的最后一个插入行?

如何通过键值从firebase中检索对象

从表中检索最后 N 条记录

白皮书解读搜索引擎的工作原理如何排序