У меня есть этот запрос, который работает просто отлично:Использование GROUP BY SQL функции в запросе с JOIN
SELECT [Exam Category]
,[Student No_]
,Gender
,Description
,Stage
FROM [MYDB $Course Registration]
inner join [MYDB $Student]
ON [Student No_] = No_
inner join [MYDB $Programme]
ON Code = Programme
where Gender != 0
order by [Exam Category] desc
,[Student No_]
,Stage
Однако я хотел бы группе [Exam Category]
:
SELECT [Exam Category]
,[Student No_]
,Gender
,Description
,Stage
FROM [MYDB $Course Registration]
inner join [MYDB $Customer]
ON [Student No_] = No_
inner join [MYDB $Programme]
ON Code = Programme
where Gender != 0
group by [Exam Category]
order by Stage
,[Student No_]
, но это приносит до ошибки
Msg 8120, уровень 16, состояние 1, строка 9 Колонка «MYDB $ курс Re gistration.Student No_ 'недействителен в списке выбора, потому что он не содержится ни в агрегатной функции, ни в предложении GROUP BY.
любая помощь?
Чего вы хотите достичь? Вы, очевидно, не знаете, что такое группировка. –
Именно то, что говорится в сообщении об ошибке! если вы хотите, чтобы какая-либо реальная помощь опубликовала некоторые данные, как выглядят таблицы, и ожидаемый результат – e4c5
Конечной целью является создание отчета (сводка хранения), чтобы найти коэффициент удержания для разных программ, сгруппированных по категории экзамена (например, бакалавриат, аспирант и т.д.) и по полу через различные стадии их прогрессирования 'code' SELECT COUNT (DISTINCT [Student no_]) FROM [MYDB $ курс Registration] внутреннее соединение [MyDB $ Customer] ON [Student no_] = No_ внутреннее соединение [MYDB $ Program] ON Код = Программа WHERE Semester = 'SEM1 16/17' AND Gender = '1' AND Program = 'HT 100' AND Stage = 'Y2S1' 'code' –