sql >> Databáze >  >> RDS >> Mysql

Dotaz MySQL k nalezení zákazníků, kteří si objednali dva konkrétní produkty

Tento typ dotazu provádím následujícím způsobem:

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 řešení zobrazeno by @najmeddine také vytváří požadovanou odpověď, ale nefunguje tak dobře na MySQL. MySQL má potíže s optimalizací GROUP BY dotazy.

Měli byste zkusit oba dotazy a analyzovat optimalizaci pomocí EXPLAIN a také spustit nějaké testy a měřit výsledky podle objemu dat ve vaší databázi.



  1. Jak zacházet s volitelnými parametry v dotazu SQL?

  2. java.sql.SQLException:Počet sloupců neodpovídá počtu hodnot při chybě řádku 1

  3. Oracle odstranění řádků z více tabulek

  4. Chyba dotazu Python/MySQL:`Neznámý sloupec`