sql >> Database >  >> RDS >> Mysql

Mysql-query's combineren die meerdere self-joins recyclen

SELECT  COUNT(*)
FROM    (
        SELECT  session_id
        FROM    formation_page_hits
        WHERE   progress IN (2, 4, 7)
                AND datetime >= '2011-03-23'
                AND datetime < '2011-03-24'
        GROUP BY
                session_id
        HAVING  COUNT(DISTINCT progress) = 3
        ) q

Maak een samengestelde index op (session_id, datetime, progress) om dit snel te laten werken.




  1. Oplossen:Geen geschikt stuurprogramma gevonden voor jdbc:mysql://localhost/dbname-fout bij gebruik van pools?

  2. Dubbele sleutel bij schrijven of bijwerken?

  3. Vind het aantal LEGE of NULL kolommen in een MySQL-tabel

  4. Hoe een vierkant in SQL Server te berekenen