【问题标题】:Maintain the order with searching通过搜索维护订单
【发布时间】:2016-08-17 23:36:50
【问题描述】:

我有一个位置表,其中包含 150 多个位置,其中包含区域和邮政编码列。我正在使用查询“从类似 %n% 的区域中选择区域”,然后我得到结果 Nigdi Nigdi Nigdi Chinchwad Chinchwad Nasik

这就是为什么我最后得到 Nasik 的原因,即使我的第一个搜索关键字也是“n”。 Nasik 在第一个位置有“n”。有人可以帮忙吗。

【问题讨论】:

  • 使用ORDER BY子句
  • 在 m 订购后没有得到我想要的订单。在这里,我想要 Nasik,Nigdi Chinchwad。也有分组。

标签: mysql


【解决方案1】:

如果要按区域中“n”的位置排序,则需要指定。请记住,除非您明确包含 order by,否则 SQL 查询将返回 unordered 集。所以:

Select area
from locations
where area like '%n%'
order by instr(area, 'n'), area;

【讨论】:

  • 很公平,也许我关闭得太早了,因为不清楚。不过,我可能会建议将, area 添加到order by 的末尾。
【解决方案2】:

你的问题不是很清楚,但我猜你想要以下之一:

SELECT area FROM locations WHERE area LIKE '%n%' ORDER BY area

SELECT area FROM locations WHERE area LIKE 'n%' ORDER BY area

【讨论】:

  • 我尝试了您的第二个查询。 bt 在这个 m 没有得到 Chinchwad 地区。我想要像 Nasik、Nigdi、Nigdi、Chinchwad。希望你现在明白我的问题
猜你喜欢
  • 1970-01-01
  • 2019-01-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多