Ошибка ' Столбец недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY. Упомянутый ниже возникает, когда вы выполняете « ГРУППА ПО », И вы включили по крайней мере один столбец в список выбора, который не является частью предложения group by и не содержится в агрегатной функции, например макс (), мин (), сумма (), счет () и avg () . Итак, чтобы запрос работал, нам нужно добавить все неагрегированные столбцы в любое предложение group by, если это возможно и не влияет на результаты, или включить эти столбцы в подходящую агрегатную функцию, и это будет работать как шарм. Ошибка возникает в MS SQL, но не в MySQL.
Ошибка «Столбец недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY»
Два ключевых слова ' Группа по ' и ' агрегатная функция »Были использованы в этой ошибке. Поэтому мы должны понимать, когда и как их использовать.
Группировать по пункту:
Когда аналитику необходимо суммировать или агрегировать данные, такие как прибыль, убыток, продажи, затраты, зарплата и т. Д., С помощью SQL, « ГРУППА ПО »Очень помогает в этом отношении. Например, чтобы подвести итог, ежедневные продажи, чтобы показать высшему руководству. Точно так же, если вы хотите подсчитать количество студентов на факультете в университетской группе, а агрегированная функция поможет вам в этом.
Группировать по стратегии разделения-применения-объединения:
Группировка по использует стратегию «разделить-применить-объединить»
- Разделенная фаза делит группы по их значениям.
- На этапе применения применяется агрегатная функция и генерируется одно значение.
- Комбинированный этап объединяет все значения в группе как одно значение.
Пример стратегии «SPLIT_APPLY_COMBINE»
На рисунке выше мы видим, что столбец разделен на три группы на основе первого столбца C1, а затем к сгруппированным значениям применяется агрегатная функция. Наконец, фаза комбинирования присваивает каждой группе одно значение.
Это можно пояснить на примере ниже. Сначала создайте базу данных с именем «appuals».
Создание базы данных
Пример:
Создать таблицу « работник ”Используя следующий код.
ИСПОЛЬЗУЙТЕ [appuals] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo]. [Employee] ([e_id] [int] NOT NULL, [e_ename] [varchar] (50) NULL, [dep_id] [int] NULL, [salary] [int] NULL, CONSTRAINT [PK_employee] PRIMARY KEY CLUSTERED ([e_id] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLKSOW_ROW_LOCKS = ON_LOCKS = ON, ALLKSOW_ROW_LOCKS = ON, ALL PRIMARY]) ON [PRIMARY] GO УСТАНОВИТЬ ANSI_PADDING OFF GO
Создание таблицы сотрудников
Теперь вставьте данные в таблицу, используя следующий код.
Вставить в значения сотрудников (e_id, e_ename, dep_id, salary) (101, 'Sadia