sql >> Databasteknik >  >> RDS >> Mysql

Tidsskillnad mellan per person mellan på varandra följande rader

Använder metoden self Join().

    SELECT a.person, 
            a.taskid, 
            TIMEDIFF (DATE_FORMAT(STR_TO_DATE(a.Start_time, '%a, %d %b %Y %H:%i:%s'), '%Y-%m-%d %H:%i:%s') ,DATE_FORMAT(STR_TO_DATE(b.End_time, '%a, %d %b %Y %H:%i:%s'), '%Y-%m-%d %H:%i:%s') ) as Time_between_attempts,
            a.Start_time,
            b.End_time

        FROM   test a 
            LEFT JOIN test b 
                    ON a.person = b.person 
                        AND a.taskid = b.taskid + 1 
        ORDER  BY 1, 2; 

Men detta kommer att ignorera tidszonen.



  1. MySQL:Bestäm tabellens primärnyckel dynamiskt

  2. Hitta datakällan för en viss tabell - ORACLE

  3. Hibernate:hur anropar man en lagrad funktion som returnerar en varchar?

  4. Kör råfråga i migrering - Sequelize 3.30