sql >> Database >  >> RDS >> Mysql

SQL:Haal records op die voldoen aan voorwaarden die afkomstig zijn uit meerdere records

Voor vragen:get a list of customers who bought both A and B

SELECT  CustomerID
FROM    CustomerList
WHERE   ProductID IN ('A', 'B')
GROUP   BY CustomerID
HAVING  COUNT(*) = 2

als uniciteit niet werd afgedwongen op ProductID voor elke CustomerID , DISTINCT zoekwoord is vereist,

SELECT  CustomerID
FROM    CustomerList
WHERE   ProductID IN ('A', 'B')
GROUP   BY CustomerID
HAVING  COUNT(DISTINCT ProductID ) = 2

Voor de tweede vraag, "..A en C en D maar niet B en E en F"

SELECT  CustomerID
FROM    CustomerList
WHERE   ProductID IN ('A', 'C', 'D')
GROUP   BY CustomerID
HAVING  COUNT(*) = 3 AND
        CustomerID NOT IN
        (
            SELECT  CustomerID
            FROM    CustomerList
            WHERE   ProductID IN ('B','E','F')
        )


  1. Hoe groot kan een MySQL-database worden voordat de prestaties achteruit gaan?

  2. Laad CSV-gegevens in MySQL in Python

  3. HTML-code verzenden via JSON

  4. Kunnen we parameters doorgeven aan een weergave in SQL?