count и нулевые значения

movies

Новичок
count и нулевые значения

табличка games с результатми игр
club_id1, club_id2, count1, count2: команда-хозяин, команда-готсь, счет между ними

SELECT club_id1, count(*)
FROM games
WHERE count1 > count2
GROUP BY club_id1;

club_id1 | num
1 5
2 4
такой запрос выводит только положительное число побед

а если побед ноль, как получить в итоговой таблице и нулевые результаты?
club_id1 | num
1 5
2 4
3 0

спасибо
 

Demiurg

Guest
select club_id1, sum(if(count1 > count2,1,0))
from games
group by club_id1
 

movies

Новичок
Спасибо большое!

Еще маленький вопросик в догонку

Если мне важно знать в каком порядке выводится результат, следует ли мне добавить order by club_id1?
Или это лишнее - group by итак сортирует по club_id1?
 

Demiurg

Guest
по умолчанию не по чему не сортирует, если нужна сортировка, то добавляй order by
 

Tigr

Новичок
если в таблице значение поля Count проигравшей команды null, то можно и так:
SELECT club_id1, count(count1) FROM tmp GROUP BY club_id1
 

Апельсин

Оранжевое создание
> по умолчанию не по чему не сортирует, если нужна сортировка, то добавляй order by

Деми, ты не прав, GROUP BY сортирует.
 

chira

Новичок
если быть до конца точным , то GROUP BY сортирует по указанным в нем выражениям.
если нужно отсортировать по COUNT(...)
то нужно указать ORDER BY
 
Сверху