我正在尝试为按组功能组成的每个组获得最大值(选项)。
假设我们有:
Name: Option:
Name1 o1
Name1 o2
Name1 o1
Name1 o1
Name1 o3
Name2 o4
Name2 o5
Name2 o4
Name3 o6
Name3 o7
Name3 o7
Name3 o8
预计最终结果为:
Group: max count of option:
Name1 o1
Name2 o4
Name3 o7
答案 0 :(得分:1)
要获得选项计数,您可以执行以下操作:
select `group`, `option`, count(*) as cnt
from table t
group by `group`, `option`;
有几种方法可以使选项对应于最大值。我认为在这种情况下最简单的是substring_index()
/ group_concat()
方法:
select `group`,
substring_index(group_concat(`option` order by cnt desc), ',', 1) as maxoption
from (select `group`, `option`, count(*) as cnt
from table t
group by `group`, `option`
) tgo
group by `group`;