我正在为我的项目开发一种搜索功能,以通过他们的地址(即按邮政编码(zip)或按名称或按城市)搜索经销商。将只为用户提供一个 html 输入字段来输入搜索词(用户一次只能输入一个搜索词,即邮政编码或姓名或城市(不允许组合))。开发查询的条件如下
- 用户按邮政编码搜索时,匹配结果应按降序显示
- 当用户按名称搜索时,匹配结果应按字母顺序显示
- 与城市名称相同
有时,名称也可能包含邮政编码,在这种情况下,结果应该用邮政编码缩短。
我试过这样
select city, postcode, name
from dealers
where name ='xyz' OR
postcode ='xyz' OR
city='XYZ'
ORDER BY postcode desc
但我希望每个条件都使用“ORDER BY”。例如,“xyz”匹配第一个名字我想按升序对结果进行排序。我怎样才能做到这一点?