首页 > 解决方案 > 我需要找到具有最大类别的记录

问题描述

ID 类别
1 吃喝
2 饮料,杯子
3 吃,拿
4 喝茶,吃

我需要订购类别列重复的最大类别数的记录,ex-eat 重复 3 次,然后是第一个订单,然后是饮料,然后是茶或杯子。提前谢谢..

标签: mysqlsqlsql-order-bycategories

解决方案


正如 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;

输出:

在此处输入图像描述


推荐阅读