Справка по задаче SQL, пожалуйста

#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, который поддерживают все базы данных.