开发者社区> 问答> 正文

Mysql数据库查询or 连接多个字段的问题

需求:
根据地区(省,市,区 三个字段)查询自提点。
有的 区/市 是没有自提点的,所以只能以 or 来连接三个条件。
但是,这样感觉又会造成匹配不精确(同时符合三个字段的条目,不一定在最前面)
比如有这三条数据
id 省 市 区
1 A B C
2 A B D
3 A E F
查询的where子句为 省=A or 市=B or 区=D
这样三条数据都在结果里面
但是可能最精确的 id=2 的条目的排序不会在最前面

展开
收起
蛮大人123 2016-02-07 17:20:19 3266 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    数据库都有内置函数(builtin)和流程控制逻辑; 这里你只需要使用if函数就可以实现了. 具体思路, 判断字段是否匹配到, 然后输出一个rank字段, 然后按照rank字段排序;
    1
    你可以尝试一下得到3个是否匹配的结果, 然后按照列的优先级排序数据

    2019-07-17 18:39:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像