此查询有效吗?或者我需要更多地分解它?
SELECT SUM(colA) as 'colA',
SUM(colB) as 'colB'
FROM tblName
WHERE colA,colB REGEXP 'Fail'
OR colA, colB='Pass'
ORDER BY colA, colB;
我问的原因是我有大量的列要查找,我试图找到最有效的方法来做这个而不用编写这个冗长的查询。
任何建议都将不胜感激。
答案 0 :(得分:1)
对于=
/等同测试,有IN
符号:
WHERE x=1 or x=2 or x=3 ....
WHERE x='pass' or y='pass' or ....
可以是一个简单的
WHERE x IN (1,2,3,....)
WHERE 'pass' IN (x,y,....)
您可以使用正则表达式匹配执行类似的操作,例如
WHERE 'Fail' REGEXP CONCAT(colA, colB, etc...)
但这取决于你的正则表达式是什么。除此之外,没有捷径可走。你必须全力以赴。