Выделенное утверждение не может найти имя аргумента с ошибкой - PullRequest
0 голосов
/ 16 декабря 2018

Моя таблица sec1202 имеет четыре столбца: row_id, col_1, col_2 и col_3.

Мне было дано следующее задание:

Напишите оператор выбора, который группирует строки по значению в col_1 и для каждой группы определяет сумму значений в col_3.

Вот снимок экрана таблицы SEC1202

enter image description here

Вот мой код:

select col_1, count(col_3) as column_three_values,
from sec1202
group by col_3;

Вот ошибка:

Оператор SELECT содержит зарезервированное слово или имя аргумента с ошибкой или отсутствием, или пунктуация неправильная

Любая помощь будетс благодарностью!

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

У вас есть несколько ошибок:

  • у вас есть паразит , до вашего FROM заявления,
  • вы используете COUNT, когда вам нужно SUM
  • вы группируете по col_3, когда вы должны группировать по col_1.

Первое - это то, что вызывает ошибку, которую вы видите.Другие просто означают, что ваши результаты будут неверными.

Правильный SQL будет выглядеть следующим образом:

SELECT col_1,
    SUM(col_3) AS column_three_values
FROM sec1202
GROUP BY col_1;

Обратите внимание, что принято использовать заглавные буквы и имена встроенных функций, такие какSELECT, SUM, FROM и т. Д. Для удобства чтения и ясности.

0 голосов
/ 16 декабря 2018

Вы группируете по неправильному столбцу и хотите sum():

select col_1, sum(col_3) as column_three_values
from sec1202
group by col_1;
-------------^

Ключи в предложении group by обычно не отображаются в качестве аргументов для функций агрегирования, таких как sum() илиcount(). Неагрегированные столбцы в select, как правило, являются ключами.

Вы также использовали count() вместо sum(), хотя вопрос специально запрашивает сумму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...