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

Menghitung banyak baris di MySQL dalam satu kueri

SELECT item_id, operation, COUNT(*) 
FROM stats 
WHERE operation IN ('view','purchase','download') 
GROUP BY item_id, operation

Akan mengembalikan tabel dengan satu baris per item_id dan operasi , berisi tiga kolom:item_id, jenis operasi, dan jumlah baris dengan item_id tersebut.

1 view 3
1 purchase 5
2 download 7
3 download 1

Anda dapat menghilangkan WHERE jika Anda menginginkan semua item_id, dan Anda dapat memesan dalam COUNT(*) untuk mendapatkan yang paling populer atau semacamnya. Tergantung apa yang Anda cari atau bagaimana Anda menggunakan datanya.

Jika Anda ingin kolom bersebelahan , gunakan JIKA:

SELECT s1.item_id, SUM( IF( s1.operation = 'view', 1, 0 ) ) views, SUM( IF( s1.operation = 'download', 1, 0 ) ) downloads, SUM( IF( s1.operation = 'purchase', 1, 0 ) ) purchases
FROM stats s1
GROUP BY s1.item_id

item_id | views | downloads | purchases
1 | 3 | 0 | 5
2 | 0 | 7 | 0
3 | 0 | 1 | 0



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Melakukan perhitungan di MySQL vs PHP

  2. Bagaimana cara menggunakan koneksi yang sama untuk dua kueri di Musim Semi?

  3. Grup mysql berdasarkan hari kerja, isi hari kerja yang hilang

  4. Konversi kolom dengan Nama Bulan dan Tahun ke bilangan bulat dengan format YYYYMM di MySQL

  5. Bagaimana cara menyimpan tanggal yang lebih tua dari stempel waktu di PHP