您的位置:首页 > 数据库 > MySQL

记一次mysql查询or、and并用查询

2020-02-15 09:28 387 查看
SELECT
customer_id AS 客户id,
customer_name AS 客户名称,
d.`name` AS 线路,
customer_phone AS 客户电话,
customer_address AS 客户地址,
sale_name AS 业务员名称,
deliver_time AS 配送时间,
COUNT( DISTINCT DATE_FORMAT( o.createtime, "%y-%m-%d" ) ) AS 下单次数,
SUM( o.pick_amount ) AS 下单金额
FROM
order_list o
JOIN efarm.dictionary d ON o.customer_path = d.`value`
WHERE
createtime BETWEEN '2018-12-31'
AND '2019-01-31'
AND `status` != 5
AND d.`code` = 'businessPath'
AND
customer_name LIKE "%缘火锅%"
OR customer_name LIKE "%银座%"

GROUP BY
o.customer_id
ORDER BY
o.customer_path
银座佳驿*** 线路B6 下单次数22
银座佳驿** 线路B6 下单次数168
*尚缘火锅 线路盖家沟–B 下单次数168

线路很明显不对,数据库没有B6这线
做法:OR的两边应该用()括起来和AND并列

SELECT
customer_id AS 客户id,
customer_name AS 客户名称,
d.`name` AS 线路,
customer_phone AS 客户电话,
customer_address AS 客户地址,
sale_name AS 业务员名称,
deliver_time AS 配送时间,
COUNT( DISTINCT DATE_FORMAT( o.createtime, "%y-%m-%d" ) ) AS 下单次数,
SUM( o.pick_amount ) AS 下单金额
FROM
order_list o
JOIN efarm.dictionary d ON o.customer_path = d.`value`
WHERE
createtime BETWEEN '2018-12-31'
AND '2019-01-31'
AND `status` != 5
AND d.`code` = 'businessPath'
AND
(customer_name LIKE "%缘火锅%"
OR customer_name LIKE "%银座%" )

GROUP BY
o.customer_id
ORDER BY
o.customer_path
  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
我.. 发布了2 篇原创文章 · 获赞 3 · 访问量 128 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: