sql >> Databáze >  >> RDS >> Mysql

MySQL:Jak SUM() TIMEDIFF() ve skupině?

Použijte:

  SELECT t.user_id,       
         SEC_TO_TIME(SUM(TIME_TO_SEC(t.endtime) - TIME_TO_SEC(t.starttime))) AS timediff
    FROM MYTABLE t
GROUP BY t.user_id

Kroky:

  1. Použijte TIME_TO_SEC převést ČAS na sekundy pro matematickou operaci
  2. Sečtěte rozdíl
  3. Použijte SEC_TO_TIME pro převod sekund zpět na ČAS

Na základě ukázkových dat bych právě navrhl:

  SELECT t.user_id,       
         TIMEDIFF(MIN(t.startdate), MAX(t.enddate)) AS timediff
    FROM MYTABLE t
GROUP BY t.user_id   


  1. mysql count group tím, že má

  2. Shrňte data do nové tabulky

  3. Nelze přidat ovladač mysql do jboss

  4. MySQL Trigger - Uložení SELECT do proměnné