У меня возникают проблемы с попыткой понять, как построить этот запрос.Выберите сгруппированные по двум столбцам с графом
Моя схема данных:
id category name userid
1 sports football 1
2 cars ferrari 1
3 sports basketball 1
4 film Matrix 9
5 film Fauno 9
6 sports Surf 3
Как вы можете видеть категорию может быть повторен даже для одного и того же идентификатора пользователя, потому что имя поле отличается. Поэтому моя идея состоит в том, чтобы получить категории пользователей и количество пользователей для каждой категории в этом наборе.
Допустим, у меня есть множество пользователя set_of_user = (1,9,3), если я выполнить запрос
SELECT something FROM category_table WHERE userid IN set_of_user SOME CONDITION HERE
Правильный результат должен быть:
category: sports
users: 2
category: cars
users: 1
category: film
users: 1
Мой лучший выстрел был:
SELECT userid, category, COUNT(userid) as users from interests WHERE `userid` in ' . $norm_info_ids . ' GROUP BY category
Но это дало плохой результат, как я могу это решить?
см. Http://sqlfiddle.com/#!2/c01274/14 – alwaysLearn