尝试根据汇总列的条件返回行

时间:2019-03-09 18:11:56

标签: sql rmysql

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

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。

3 个答案:

答案 0 :(得分:1)

如果您对linesInserted + linesDeleted求和,那将没有问题:

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

答案 1 :(得分:0)

尝试如下

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

答案 2 :(得分:0)

这里sum是一个聚合函数,因此由于总和大于或等于200,因此无法在何处检查条件。由于我们使用sum来计算值,因此应使用来检查条件。