You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL查询:如何按多列筛选匹配指定值集的行及统计

用MySQL实现多列匹配外部全量值的查询方案

完全可以通过MySQL直接实现需求,且能解决PHP处理时的高内存、慢响应问题,以下是针对不同长度外部列表的查询语句:

外部列表含3个值(示例:['mirror', 'seat', 'door'])

查询匹配行

SELECT part1, part2, part3
FROM parts
WHERE 
  ('mirror' IN (part1, part2, part3))
  AND ('seat' IN (part1, part2, part3))
  AND ('door' IN (part1, part2, part3));

统计匹配行数

SELECT COUNT(*) AS match_count
FROM parts
WHERE 
  ('mirror' IN (part1, part2, part3))
  AND ('seat' IN (part1, part2, part3))
  AND ('door' IN (part1, part2, part3));

外部列表含2个值(示例:['mirror', 'door'])

查询匹配行

SELECT part1, part2, part3
FROM parts
WHERE 
  ('mirror' IN (part1, part2, part3))
  AND ('door' IN (part1, part2, part3));

统计匹配行数

SELECT COUNT(*) AS match_count
FROM parts
WHERE 
  ('mirror' IN (part1, part2, part3))
  AND ('door' IN (part1, part2, part3));

外部列表含1个值(示例:['antenna'])

查询匹配行

SELECT part1, part2, part3
FROM parts
WHERE 'antenna' IN (part1, part2, part3);

统计匹配行数

SELECT COUNT(*) AS match_count
FROM parts
WHERE 'antenna' IN (part1, part2, part3);

性能优化建议

由于表中数据量较大,为避免全表扫描、提升查询速度,可为三列分别建立普通索引:

CREATE INDEX idx_part1 ON parts(part1);
CREATE INDEX idx_part2 ON parts(part2);
CREATE INDEX idx_part3 ON parts(part3);

内容的提问来源于stack exchange,提问作者Dario Ferrer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 06:03:16