Mysql
 sql >> база данни >  >> RDS >> Mysql

GROUP BY времево клеймо на всеки 15 минути, включително липсващи записи

Ако наистина искате да го направите в mysql, това трябва да работи до известна степен - в зависимост от това как искате да организирате вашите 15-минутни интервали. Дадох изхода като time from | time to | number of reports защото смятам, че е безсмислено и дори малко измамно да се изведе конкретна времева марка и да се свърже отброяване на времеви диапазон с него.

SELECT CONCAT (
        lpad(hours.a, 2, "0"),
        ":",
        lpad(minutes.a * 15, 2, "0"),
        ":00"
        ) AS 'from',
    CONCAT (
        lpad(hours.a, 2, "0"),
        ":",
        lpad((minutes.a * 15) + 14, 2, "0"),
        ":59"
        ) AS 'to',
    count(r.id)
FROM (
    SELECT 0 AS a

    UNION

    SELECT 1 AS a

    UNION

    SELECT 2 AS a

    UNION

    SELECT 3 AS a

    UNION

    SELECT 4 AS a

    UNION

    SELECT 5 AS a

    UNION

    SELECT 6 AS a

    UNION

    SELECT 7 AS a

    UNION

    SELECT 8 AS a

    UNION

    SELECT 9 AS a

    UNION

    SELECT 10 AS a

    UNION

    SELECT 11 AS a

    UNION

    SELECT 12 AS a

    UNION

    SELECT 13 AS a

    UNION

    SELECT 14 AS a

    UNION

    SELECT 15 AS a

    UNION

    SELECT 16 AS a

    UNION

    SELECT 17 AS a

    UNION

    SELECT 18 AS a

    UNION

    SELECT 19 AS a

    UNION

    SELECT 20 AS a

    UNION

    SELECT 21 AS a

    UNION

    SELECT 22 AS a

    UNION

    SELECT 23 AS a
    ) hours
INNER JOIN (
    SELECT 0 AS a

    UNION

    SELECT 1 AS a

    UNION

    SELECT 2 AS a

    UNION

    SELECT 3 AS a
    ) minutes
LEFT JOIN reports r ON hours.a = hour(r.t)
    AND minutes.a = floor(minute(r.t) / 15)
GROUP BY hours.a,
    minutes.a;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. единична заявка за отпечатване на всички редове, чийто брой е по-голям от 10

  2. Зареждане на 5 милиона реда в Pandas от MySQL

  3. Как да разрешите проблема с "caching_sha2_password" на приставката за удостоверяване не може да се зареди

  4. Преминаване от база данни към сесии

  5. Как да изключите стриктния режим на MySQL в Rails