Скажем, мы имеем следующие Mysql таблицы:Mysql получить только определенные значения из п: п отношение
пользователь:
userID | user_name
классификация:
classificationID | classification_name | classification_ponder
user_classification:
userId(PK) | classificationId(PK)
Это отношение n: n между пользователем и классификацией.
Меня интересует, как запросить каждый пользователь, ВСЕ классификации с самым большим обдумыванием в одном столбце, разделенные ,
?
E.g. пусть говорят, что мы имеем user1 с ID = 1 и следующие классификации:
classificationId | classification_name | classification_ponder
---------------------------------------------------------------
1 class1 5
2 class2 5
3 class3 4
4 class4 2
user_classification таблица является (пользователь имеет все классификации):
userId | ClassificationId
---------------------------
1 1
1 2
1 3
1 4
То, что я хочу, чтобы это:
userId | user_name | class1, class2
Так что только названия классификации с наибольшим обдумыванием (в данном случае class1
и class2
) отображаются в одном столбце, разделенном «,».
мне удалось получить все классификации для пользователя со следующими MySQL запросов:
select
user.user_name,
GROUP_CONCAT(DISTINCT Classification.classification_name) as Classification
from user
left join user_classification
on (user_classification.userId=user.userID)
left join Classification
on (Classification.classificationID=user_classification.classificationId)
GROUP BY user.userID</b>
Что я хочу сделать дисплей только классификации с самой большой Ponder.
Это будет делать трюк. Спасибо! – iceDice
приветствуются – frail