众数是集合中出现次数最多的值。
我想要这样的东西:
SELECT
t.id as t_id,
GROUP_CONCAT(t.value) as value_list,
MODE(t.value) AS value_mode
FROM dataset.table as t
GROUP BY t_id
Run Code Online (Sandbox Code Playgroud)
例如:
t_id value_list value_mode
1 2,2,2,3,6,6 2
Run Code Online (Sandbox Code Playgroud)
这是怎么做到的?
编辑: value_list 只是为了说明目的。只需要模式
select id, value as value_list, v as value_mode
from (
select
id, value, v,
count(1) as c,
row_number() over(partition by id order by c desc) as top
from (
select id, value, split(value) as v
from dataset.table
)
group by id, value, v
)
where top = 1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12375 次 |
最近记录: |