Попытка вернуть строки, основанные на условии суммированных столбцов - PullRequest
0 голосов
/ 09 марта 2019

Извинения, если это было задано. Поскольку то, что я думал, было относительно простым вопросом, я не мог найти ответ в своих поисках.

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 ]

1 голос
/ 09 марта 2019

Если вы сложите сумму linesInserted + linesDeleted, проблем не будет:

SELECT id, sum(linesInserted + linesDeleted) as total
FROM table
GROUP BY id
having total >= 200
0 голосов
/ 21 марта 2019

Здесь сумма - агрегатная функция, поэтому мы не могли использовать, где проверить условие, так как сумма больше или равна 200. Мы должны использовать необходимость проверять условие, так как мы используем сумму для вычисления значений.

0 голосов
/ 09 марта 2019

попробуйте как ниже

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