mysql - 我需要找到具有最大类别的记录
问题描述
ID | 类别 |
---|---|
1 | 吃喝 |
2 | 饮料,杯子 |
3 | 吃,拿 |
4 | 喝茶,吃 |
我需要订购类别列重复的最大类别数的记录,ex-eat 重复 3 次,然后是第一个订单,然后是饮料,然后是茶或杯子。提前谢谢..
解决方案
正如 Gordon 建议的那样,应该更改数据模型以充分利用 RDBMS。但是您正在寻找的可以通过以下查询来实现:
select category,count(*) category_count from(
select t.id, j.category
from tablename t
join json_table(
replace(json_array(t.category ), ',', '","'),
'$[*]' columns (category varchar(50) path '$')
) j
)t
group by category
order by count(*) desc;
输出: