多个 WHERE、LIKE 条件
Multiple WHERE, LIKE conditions
这个查询有效吗?还是我需要再分解一下?
SELECT SUM(colA) as 'colA',
SUM(colB) as 'colB'
FROM tblName
WHERE colA,colB REGEXP 'Fail'
OR colA, colB='Pass'
ORDER BY colA, colB;
我问的原因是我有大量的列要查找,我正在尝试发现最有效的方法而不用编写这个冗长的查询。
如有任何建议,我们将不胜感激。
对于 =
/相等性测试,有 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...)
但这完全取决于您的正则表达式模式。对于其他任何事情,都没有捷径可走。你必须把它全部写出来。
这个查询有效吗?还是我需要再分解一下?
SELECT SUM(colA) as 'colA',
SUM(colB) as 'colB'
FROM tblName
WHERE colA,colB REGEXP 'Fail'
OR colA, colB='Pass'
ORDER BY colA, colB;
我问的原因是我有大量的列要查找,我正在尝试发现最有效的方法而不用编写这个冗长的查询。
如有任何建议,我们将不胜感激。
对于 =
/相等性测试,有 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...)
但这完全取决于您的正则表达式模式。对于其他任何事情,都没有捷径可走。你必须把它全部写出来。