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

MySQL Query untuk menemukan pelanggan yang telah memesan dua produk tertentu

Saya melakukan jenis kueri ini dengan cara berikut:

SELECT COUNT(DISTINCT t1.userid) AS user_count
  FROM TRANSACTIONS t1
  JOIN TRANSACTIONS t2 USING (userid)
 WHERE t1.product_id = 'prod1' 
   AND t2.product_id = 'prod2';

GROUP BY solusi ditampilkan oleh @najmeddine juga menghasilkan jawaban yang Anda inginkan, tetapi tidak berfungsi dengan baik di MySQL. MySQL mengalami kesulitan dalam mengoptimalkan GROUP BY kueri.

Anda harus mencoba kedua kueri, menganalisis pengoptimalan dengan EXPLAIN , dan juga menjalankan beberapa pengujian dan menghitung waktu hasil berdasarkan volume data dalam database Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Panggil pendorong ketika mysql telah berubah

  2. Saya memiliki beberapa kueri yang ingin menggabungkan semua hasil kueri ke dalam tabel yang sama

  3. tanda kutip tunggal dalam SQL Query

  4. Bagaimana cara mengakses server jarak jauh dengan klien phpMyAdmin lokal?

  5. php hapus baris tautan dari database mysql