#sql #sql-server #sum #aggregate-functions
#sql #sql-server #сумма #агрегатные функции
Вопрос:
Я приложил изображение простой задачи, которую я получил, и мне была бы очень нужна ваша помощь, чтобы убедиться, что я все понял правильно.
Мой ответ:
SELECT
Account_name,
SUM(captcha_served) AS Total_captcha_served,
SUM(captcha_solved) AS Total_captcha_solved
FROM
DEFENDIT_pageviews_20190101
WHERE
Account_name = "defendit";
Комментарии:
1. Возможно, вы хотите
GROUP BY
.2. Попытка запустить ваш SQL покажет вам, правильно ли вы все поняли или нет; зачем вам нужно, чтобы мы вам сказали, когда вы можете гораздо проще протестировать?
3. просто добавьте группу по имени учетной записи также в запросе
4. Я голосую за закрытие этого вопроса, потому что он не задает другого вопроса, кроме как для нас, чтобы протестировать SQL в вопросе, чтобы увидеть, «работает» ли он. Это то, что OP может легко сделать, просто выполнив инструкцию, в то время как пользователи здесь не могут этого сделать, поскольку у нас нет доступа к экземпляру пользователя и у нас нет образцов данных (изображение не учитывается, поскольку ожидается, что мы его перепишем, что мы и должны бытьожидается, что это будет сделано). Если вышеуказанное не работает, тогда они должны спросить об этом.
Ответ №1:
В вашем запросе отсутствует group by
предложение:
select account_name,
sum(captcha_served) as total_captcha_served,
sum(captcha_solved) as total_captcha_solved
from defendit_pageviews_20190101
where account_name = 'defendit'
group by account_name --> here
Я бы также рекомендовал использовать одинарные кавычки, а не двойные кавычки, чтобы окружать литеральные строки. Это стандартный SQL, который поддерживают все базы данных.