Mysql仅从n:n关系中检索特定值
假设我们有以下Mysql表: 用户:Mysql仅从n:n关系中检索特定值,mysql,Mysql,假设我们有以下Mysql表: 用户: userID | user_name 分类: classificationID | classification_name | classification_ponder userId(PK) | classificationId(PK) 用户分类: classificationID | classification_name | classification_ponder userId(PK) | classificationId(PK) 这是用
userID | user_name
分类:
classificationID | classification_name | classification_ponder
userId(PK) | classificationId(PK)
用户分类:
classificationID | classification_name | classification_ponder
userId(PK) | classificationId(PK)
这是用户和classifiaction之间的n:n关系
我感兴趣的是如何查询每一个用户,在一列中包含最大思考的所有分类,用,
分隔
例如,假设我们有ID=1的user1,并且有以下分类:
classificationId | classification_name | classification_ponder
---------------------------------------------------------------
1 class1 5
2 class2 5
3 class3 4
4 class4 2
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>
选择
user.user\u名称,
组(不同分类。分类名称)作为分类
来自用户
左连接用户分类
on(user\u classification.userId=user.userId)
左连接分类
on(Classification.classificationID=user\u Classification.classificationID)
按user.userID分组
我想做的是只显示最值得深思的分类
类似这样的东西应该可以做到(可能有一些语法错误)
类似这样的东西应该可以做到(可能有一些语法错误)