Permintaan Anda baik-baik saja. Alasan Anda mendapatkan 2000 baris adalah karena Anda mendapatkan satu baris untuk setiap pasangan unik nilai user_id
, item_id
.
Jika Anda ingin melihat jenis interaksi yang masuk ke setiap baris, gunakan:
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;
Terpikir oleh saya bahwa Anda ingin semua baris dengan tipe interaksi maksimum. Jika demikian, hitung maksimum dan kemudian temukan semua baris yang cocok dengan nilai tersebut:
select t.*
from mytable t cross join
(select max(interaction_type) as maxit from mytable) x
on x.maxit = t.interaction_type;
Tidak ada group by
diperlukan untuk kueri ini.