Sortering af COUNT med JOINs
Jeg har 2 tabeller:users: id, firstname, lastname, ...
calendar: id, time, user_id, ...
(Der er flere felter, men det er de relevante for det her spørgsmål)
Jeg vil gerne have et query der henter alle de records der er i calendar for hvert user, joinet med users.id = calendar.user_id.
Til det har jeg query'et:
SELECT u.*, COUNT(c.user_id) FROM users u LEFT JOIN calendar c ON (u.id = c.user_id) GROUP BY u.id
Det virker som det skal, dog med den lille hage at jeg var nødt til at GROUP BY users.id i stedet for calendar.id for at få de records med som ikke havde nogen entries i calendar (hvilket kan forekomme).
Nu ønsker jeg dog at sortere efter calendar.time-feltet (som er unix timestamps), og her bliver det tricky for uanset hvad jeg prøver får jeg kun de brugere og tilhørende counts som HAR entries i calendar, og jeg ønsker alle (også selvom de har 0 entries).
Håber i kan hjælpe