Middle+
studentu tabula id PK vārds faculty_id fakultātes tabula id PK vārds IZVĒLIES f.vārds, skaits(*) No fakultātes f PIEVIENOT student s ar ON s.faculty_id = f.id GRUPĒT pēc f.id, f.vārds GRUPĒT pēc /*f.id,*/ f.vārds GRUPĒT pēc f.id/*, f.vārds*/
sobes.tech AI
Atbilde no AI
В SQL запросе с использованием JOIN и GROUP BY важно правильно группировать данные.
В данном случае:
SELECT f.name, count(*)
FROM faculty f
JOIN student s ON s.faculty_id = f.id
GROUP BY f.id, f.name
группировка по f.id, f.name корректна, так как f.id — первичный ключ, а f.name — атрибут, связанный с ним.
Если попытаться группировать только по f.name, то возможна ошибка или некорректный результат, если имена факультетов не уникальны.
Группировка только по f.id тоже корректна, так как id уникален, и можно выбрать f.name без группировки, если СУБД это позволяет.
Итог: для правильного подсчёта студентов на факультет лучше группировать по f.id (уникальному идентификатору).