如果有人问过,请道歉。对于我认为是一个相对简单的问题,我似乎无法在我的搜索中找到答案。
linesInserted和linesDeleted是表中的两列。我正在尝试返回linesInserted + linesDeleted> = 200的行。我的查询是
SELECT *, (linesInserted + linesDeleted) as total
FROM table
WHERE total >= 200
GROUP BY id
这不起作用,因为我收到一个错误说:
Unknown column 'TOTAL' in where clause
我正在为那些好奇的人使用RMySql。
如果你总结linesInserted + linesDeleted
那么就没有问题了:
SELECT id, sum(linesInserted + linesDeleted) as total
FROM table
GROUP BY id
having total >= 200
尝试如下
SELECT id, sum(linesInserted + linesDeleted) as total
FROM table
GROUP BY id
having sum(linesInserted + linesDeleted)>=200
这里sum是一个聚合函数,所以我们不能使用where来检查条件,因为total大于或等于200.我们应该使用必须检查条件,因为我们使用sum来计算值。