尝试根据求和列的条件 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来计算值。
如果有人问到这个问题,我们深表歉意。对于我认为是一个相对简单的问题,我似乎无法在搜索中找到答案。
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来计算值。