我们有一个搜索查询,允许用户输入一个字符串,然后通过LIKE'%string%'搜索3个单独的字段。这些字段是:根据找到的字段排序SQL结果
- 名称
- 说明
- 类型
当然后将结果返回而现在只是为了他们随意。我们希望首先按名称字段中的结果排序结果,然后再按说明字段中的项目排序,最后在类型字段中排序。因为我们的分页和排序也与此相关,所以我们确实希望它在一个记录集中返回。这甚至有可能吗?
在此先感谢。
我们有一个搜索查询,允许用户输入一个字符串,然后通过LIKE'%string%'搜索3个单独的字段。这些字段是:根据找到的字段排序SQL结果
当然后将结果返回而现在只是为了他们随意。我们希望首先按名称字段中的结果排序结果,然后再按说明字段中的项目排序,最后在类型字段中排序。因为我们的分页和排序也与此相关,所以我们确实希望它在一个记录集中返回。这甚至有可能吗?
在此先感谢。
在MySQL中,下面应该工作:
SELECT *
FROM atable
WHERE Name LIKE '%string%'
OR Description LIKE '%string%'
OR Type LIKE '%string%'
ORDER BY
CASE
WHEN Name LIKE '%string%' THEN 1
WHEN Description LIKE '%string%' THEN 2
WHEN Type LIKE '%string%' THEN 3
END
;
完美,谢谢! – jeremykrall 2013-02-11 19:21:49
你可以试试这个:
Select *
from Tablename
where Name like '%string%'
and description like '%string%'
and type like '%string%'
order by name,description,type
请试试这个:
Select *
from Table
where Name like '%string%'
and description like '%string%'
and type like '%string%'
order by name,description,type
嗯,它似乎没有以正确的顺序返回它们,因为如果它发现它在描述中,描述的名称比它匹配的“名称”的字母顺序更高,然后首先显示它。我希望名称结果能够事先显示......可能必须对它进行一些后期排序。 – jeremykrall 2013-02-11 06:17:21
MSSQL,MySQL和甲骨文?查询的外观如何?你试过什么了? – rikitikitik 2013-02-11 05:20:07
它是MySQL,现在它看起来像下面的一个,除了我只是按名称排序。从表中选择*其中名称如'%string%'和类似'%string%'的描述并键入'%string%'按名称排序 – jeremykrall 2013-02-11 06:15:50