Sobes.tech
Middle+
40

tabela student id PK nazwa faculty_id tabela faculty id PK nazwa WYBIERZ f.nazwa, policz(*) Z faculty f DO student s ON s.faculty_id = f.id GRUPUJ PO f.id, f.nazwa GRUPUJ PO /*f.id,*/ f.nazwa GRUPUJ PO f.id/*, f.nazwa*/

Firmy, w których zadano pytania
ИннотехИннотех

Odpowiedź od AI

sobes.tech 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 (уникальному идентификатору).