我有一个q MySQL查询,查找部件号并返回计数;我需要弄清楚如何通过部件号计数来输出查询
现在我的查询
select count(partnumber)
from db1
where part number REGEXP '6270|6269|6266'
输出部件号30
我想要的是输出看起来像这样,
part numbers count
6270 | 20
6269 | 10
6266 | 5
答案 0 :(得分:1)
如果我理解正确,这是编写查询的更好方法:
select partnumber, count(*)
from db1 where partnumber in (6270, 6269, 6266)
group by partnumber;
此in
表达式与正则表达式不完全相同(等效正则表达式为'^6270|6269|6266$'
)。如果你真的想要部分匹配,那么你应该使用正则表达式。
对于完全匹配,in
更好,因为(1)它是标准SQL; (2)比较中的类型是正确的; (3)它更好地优化。