apple
2, orange
2, orange,
3, coconut
3, apple
как мне получить такое?
1, apple
2, orange
3, coconut или apple (без разницы)
типа вывести наиболее частовстречающееся значение в колонке для этого user_id
select user_id, item, count(*) from tbl1 group by user_id, item order by count(*) desc ? вот как мне теперь отсеять тот count который не максимальный для данного user_id?
например посчитать row_number c сортировкой desc по count(*)
спасибо огромное, выручили сильно!
пожалуйста
Кстати, ещё можно через LATERAL JOIN сделать. select t2.* from (select distinct user_id from t order by 1) as t1, lateral (select user_id, item, count(*) from t where user_id = t1.user_id order by 3 desc limit 1) as t2 order by 1;
Обсуждают сегодня