sql >> Databasteknik >  >> RDS >> Mysql

Mysql Group Med 24 timmars intervall

Prova detta:

SELECT MIN(creation_date), MAX(creation_date), COUNT(*) AS Occurrences 
FROM test
GROUP BY DATE(DATE_SUB(creation_date, INTERVAL 19 HOUR))

Fungerande demo:http://sqlfiddle.com/#!2/aa7583/6

För formateringsdelen, använd detta:

SELECT CONCAT( CONCAT(DATE(DATE_SUB(creation_date, INTERVAL 19 HOUR)),' 19:00:00') , ' - ' , CONCAT(DATE(DATE_ADD(creation_date, INTERVAL 5 HOUR)), ' 18:59:00') ) AS Interval, COUNT(*) AS Occurrences 
FROM test
GROUP BY DATE(DATE_SUB(creation_date, INTERVAL 19 HOUR))


  1. CriteriaQuery månad och år filter

  2. ORA-04021:timeout inträffade i väntan på att låsa objekt

  3. Skriver MySQL över en kolumn med samma värde vid uppdatering?

  4. Hur delar man upp namnsträngen i mysql?