Если вы столкнулись с ужасной ошибкой «столбец недействителен в списке выбора, поскольку он не содержится ни в одной агрегатной функции» в ваших SQL-запросах, не бойтесь! В этой статье мы углубимся в значение этого сообщения об ошибке и рассмотрим несколько способов его устранения. Итак, хватайте шляпу программиста и начнем!
Понимание ошибки:
Когда вы видите сообщение об ошибке «столбец недействителен в списке выбора, поскольку он не содержится ни в одной агрегатной функции», это обычно означает, что вы пытаетесь включить столбец в свой SELECT. оператор, который не является частью агрегатной функции, такой как SUM, COUNT, AVG и т. д., а также не включен в предложение GROUP BY. Проще говоря, вам не хватает необходимого синтаксиса SQL.
Метод 1. Включение столбца в предложение GROUP BY:
Один из способов устранения этой ошибки — включение рассматриваемого столбца в предложение GROUP BY. Допустим, у вас есть таблица «Сотрудники» с такими столбцами, как «имя», «отдел» и «зарплата», и вы хотите получить общую зарплату для каждого отдела. Вот пример запроса:
SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department;
Метод 2: используйте агрегатную функцию.
Если вы не хотите включать столбец в предложение GROUP BY, вы можете использовать соответствующую агрегатную функцию для выполнения вычислений над этим столбцом. Предположим, вы хотите найти среднюю зарплату во всех отделах. Вот как вы можете изменить запрос:
SELECT AVG(salary) AS average_salary
FROM employees;
Метод 3. Использование подзапросов.
В некоторых случаях вам может потребоваться выполнить вычисления для определенного столбца, а затем включить результат в оператор SELECT. На помощь могут прийти подзапросы. Допустим, вы хотите отобразить имена сотрудников, у которых зарплата выше средней по всем отделам. Вот пример:
SELECT name
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
Метод 4. Проверка имен и псевдонимов столбцов.
Иногда сообщение об ошибке может вводить в заблуждение, и фактическая проблема заключается в неправильных именах или псевдонимах столбцов. Еще раз проверьте, правильно ли вы написали имена столбцов и что все псевдонимы, которые вы использовали в запросе, назначены правильно.
Обнаружение ошибки «Недопустимый столбец в списке выбора» является распространенной проблемой при программировании на SQL. Поняв сообщение об ошибке и применив методы, описанные в этой статье, вы будете хорошо подготовлены к устранению неполадок и решению этой проблемы в ваших SQL-запросах. Не забывайте обращать внимание на синтаксис, используйте агрегатные функции, при необходимости используйте подзапросы и всегда дважды проверяйте имена и псевдонимы столбцов. Приятного кодирования!