【发布时间】:2017-01-18 09:36:14
【问题描述】:
我有 2 个表,'item' 和 'propvalues',propvalues 有 property_id 和 value 列,我想要得到的是将 propvalues 分组为 property_id,并计算它们有多少相似的值。
我知道它与另一个问题相似,但我无法弄清楚如何更改它以供自己工作。如果有人擅长 mysql,请不要将其标记为重复的问题,而是尝试至少给我一些建议。我不明白当有内部选择语句时发生了什么
这是表格:
'item'
id category_id
1 1
2 1
3 2
4 5
etc.
'propvalues'
id item_id property_id value
1 1 3 'blue'
2 1 3 'blue'
3 1 3 'blue'
4 1 3 'red'
5 1 5 'blue'
6 1 5 'red'
7 2 5 'red'
SELECT propvalues.property_id,
GROUP_CONCAT(propvalues.value)
FROM propvalues JOIN item ON item.id = propvalues.item_id
WHERE item.category_id = 1 || item.category_id = 2
GROUP BY propvalues.property_id
这给出了这个结果:
property_id value
3 blue,blue,blue,red
5 blue,red,red
但我需要这个,结果,我只想要唯一值,并计算它们:
3 blue,3|red,1
5 blue,1|red,2
有什么想法吗? 我在这里找到了一些解决方案:mysql group_concat with a count inside? 但我无法弄清楚如何改变它让自己工作。
【问题讨论】:
-
投票作为重复关闭,因为该问题与您链接到的其他问题基本完全相同。如果您真的尝试根据您的情况实施/调整它,那么至少向我们展示您尝试了什么以及取得了什么结果。
-
我不明白这是怎么回事,如果我不寻求帮助的话。
标签: mysql