クエリは問題ありません。 2000行を取得する理由は、値の一意のペアごとに1行を取得するためですuser_id
、item_id
。
各行に入るインタラクションタイプを確認するには、次を使用します。
select user_id, item_id, max(interaction_type) as max_type,
group_concat(distinct interaction_type) as interaction_types,
count(*) as cnt
from mytable
group by user_id, item_id;
最大のインタラクションタイプを持つすべての行が必要だと思います。その場合は、最大値を計算してから、その値に一致するすべての行を見つけます。
select t.*
from mytable t cross join
(select max(interaction_type) as maxit from mytable) x
on x.maxit = t.interaction_type;
group by
はありません このクエリにはが必要です。