Mysql Query比较2个变量

时间:2012-09-10 18:59:11

标签: mysql

我正在进行查询并需要一些帮助。

以下是查询的一部分:

AND count_sub>2 AND count_del<=2 

我想要做的是,在此查询中选择2个变量,并且count_sub大于5+count_del继续。

示例:

count_sub = 10
count_del = 4

差异为6因此会返回结果,但如果:

count_sub = 4
count_del = 1

差异是3,不会返回任何内容

由于

2 个答案:

答案 0 :(得分:0)

您可以查询差异:

WHERE count_sub - count_del > 5

答案 1 :(得分:0)

我会推荐以下解决方案:

SELECT a.id
FROM tbl1 a
INNER JOIN (SELECT id, count_sub - count_del AS diff FROM tbl1) b ON b.id = a.id
WHERE b.diff > 5

通过在WHERE子句(WHERE count_sub - count_del > 5 )中使用算术,可以防止优化器使用列上的索引。一般规则是尽可能远离WHERE子句移动算法。将算术移动到派生表到派生列的效率更高。