sql >> Databasteknik >  >> RDS >> Mysql

MySQL många-till-många Välj

Nyckeln finns i GROUP BY/HAVING genom att använda ett ANTAL DISTINKT telefonnamn. När antalet är 2 vet du att användaren har båda telefoner.

SELECT m5.name
    FROM mark5 m5
        INNER JOIN mark4 m4
            ON m5.uid = m4.uid
        INNER JOIN mark3 m3
            ON m4.phoneid = m3.phoneid
    WHERE m3.name in ('HTC', 'Samsung')
    GROUP BY m5.name
    HAVING COUNT(DISTINCT m3.name) = 2;


  1. Returnerar COUNT(*) alltid ett resultat?

  2. Hur man kör en Oracle-lagrad procedur via en databaslänk

  3. Varför exekveringstiden för lagrad oracle-procedur ökar kraftigt beroende på hur den exekveras?

  4. Hur använder man MySQL Found_Rows() i PHP?