sql >> Databasteknik >  >> RDS >> Mysql

Kombinera mysql-frågor som återvinner flera självanslutningar

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

Skapa ett sammansatt index på (session_id, datetime, progress) för att detta ska fungera snabbt.




  1. Orsakad av:java.time.DateTimeException:Konflikt hittades:Fält DayOfWeek 6 skiljer sig från DayOfWeek 2 härledd från 2016-01-30

  2. oracle 11g och integration av hibernate spring och jsf

  3. När du kör UPDATE ... datetime =NOW(); kommer alla uppdaterade rader att ha samma datum/tid?

  4. Förbyggd Oracle-databas för inlärning och testning med Oracle Developer VM