Показывать «0» в столбце COUNT, когда ГДЕ не соответствует?

Что я хотел бы сделать, так это получить все данные из таблицы и упорядочить их по количеству игр, в которые пользователь играл в определенной категории. . Можно ли каким-то образом использовать SQL-оператор COUNT WHERE?

вот что у меня есть. он вернет пользователя только в том случае, если он играл в игру в категории «fps», но я хочу, чтобы он показывал всех пользователей в порядке убывания, даже если они не играли в игру fps. извините за корявые таблицы

SELECT user_data.user, COUNT(played_games.game_cat) as 'count'
FROM user_data, played_games
WHERE user_data.user_id = played_games.user_id and played_games.game_cat = 'fps'
GROUP BY user_data.user_id
ORDER BY 'count' DESC;

таблица user_data

user_id | user

1       | jeff
2       | herb
3       | dug

таблица play_games

id | user_id | game | game_cat

1  |    2    | kill | fps
2  |    1    | shoot| fps
3  |    2    | COD  | fps
4  |    3    | dogs | cas
5
задан ddan 18 March 2012 в 06:14
поделиться