mysql) Как печатать с использованием группы по, в том числе, когда количество равно 0 - PullRequest
0 голосов
/ 27 мая 2020

Когда у меня есть такая таблица,

enter image description here

enter image description here

Я хочу получить результат оператора select, как на картинке ниже.

enter image description here

Однако, когда count равно 0, строка опускается.

enter image description here

Это меня сбивает. Как я могу изменить этот оператор SQL для печати с count = 0 строк?

SELECT ca.syear, COUNT(cc.joined),cc.joined
FROM schedules AS cc JOIN
     schedule_assignment AS ca
     ON ca.idx = cc.assignment
where student = 1 AND  cc.joined = 1
GROUP BY ca.syear;

Извините, моя репутация ниже 10, поэтому я не могу показать изображение сразу. : (

1 Ответ

2 голосов
/ 27 мая 2020

Я думаю, вам просто нужен LEFT JOIN:

SELECT sa.syear, COUNT(cc.joined)
FROM schedule_assignment sa LEFT JOIN
     schedules s 
     ON ca.idx = cc.assignment AND
        s.student = 1 AND 
        s..joined = 1
GROUP BY sa.syear;

Я не включил join ed в набор результатов. Это всегда 1, так что это не кажется полезным. Вы можете включить его: 1 as joined, если действительно хотите.

...