尝试根据求和列的条件 return 行

Trying to return rows based on condition of summed columns

如果有人问到这个问题,我们深表歉意。对于我认为是一个相对简单的问题,我似乎无法在搜索中找到答案。

linesInserted 和 linesDeleted 是 table 中的两列。我正在尝试 return linesInserted + linesDeleted >= 200 的行。我的查询是

SELECT *, (linesInserted + linesDeleted) as total
FROM table
WHERE total >= 200
GROUP BY id

这不起作用,因为我收到一条错误消息:

Unknown column 'TOTAL' in where clause

我正在为那些好奇的人使用 RMySql。

试试下面的方法

SELECT id, sum(linesInserted + linesDeleted) as total
FROM table
GROUP BY id
having sum(linesInserted + linesDeleted)>=200

如果你对 linesInserted + linesDeleted 求和就没有问题了:

SELECT id, sum(linesInserted + linesDeleted) as total
FROM table
GROUP BY id
having total >= 200

这里sum是一个聚合函数,所以我们不能用where来查条件,因为总和大于等于200。我们应该用having来查条件,因为我们用sum来计算值。