Запятая разделяет выражения.group by subject, semester
создает отдельную группу для каждой отдельной пары значений.Я думаю, это то, что вы хотите.
Пример использования AND
- это только одно логическое выражение, только с двумя различными группами, одна для true и одна для false ,AND
- логический оператор.Он вычисляет два своих операнда и затем выдает логическое соединение между ними.
Таким образом, он оценивает и subject
, и semester
только как логические значения, а затем, если оба значения имеют значение true, тогда все логическое выражение имеет значение true.Именно так работает логическое значение AND
.
MySQL рассматривает логические значения как то же самое, что и целочисленные значения 1 для true и 0 для false.Поэтому он будет оценивать subject
и semester
как числаЭто может привести к неожиданным результатам.
Вы должны использовать запятую, если хотите сгруппировать по двум столбцам.