Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kelompokkan Mysql dengan dua kolom dan pilih nilai maksimum kolom ketiga

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengekspor skema MySQL dengan data?

  2. Penanganan Kesalahan Prosedur Tersimpan MySQL

  3. Instal dan Gunakan Percona Toolkit di Centos 7

  4. tampilkan tabel dengan suka menggunakan Java dan MySQL?

  5. Menghitung Ukuran Pool Buffer InnoDB untuk Server MySQL Anda