尝试根据求和列的条件返回行

问题描述 投票:0回答:3

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

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。

sql rmysql
3个回答
1
投票

如果你总结linesInserted + linesDeleted那么就没有问题了:

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

0
投票

尝试如下

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

0
投票

这里sum是一个聚合函数,所以我们不能使用where来检查条件,因为total大于或等于200.我们应该使用必须检查条件,因为我们使用sum来计算值。

© www.soinside.com 2019 - 2024. All rights reserved.