Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Dấu thời gian GROUP BY cứ sau 15 phút kể cả các mục nhập bị thiếu

Nếu bạn thực sự muốn làm điều đó trong mysql, điều này sẽ hoạt động ở một mức độ nào đó - tùy thuộc vào cách bạn muốn tổ chức khoảng thời gian 15 phút của mình. Tôi đã cho đầu ra là time from | time to | number of reports bởi vì tôi nghĩ việc tạo ra một dấu thời gian cụ thể và liên kết số lượng khoảng thời gian với nó là vô nghĩa và thậm chí hơi lừa dối.

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. SQL max () với các phép nối bên trong

  2. Cách Chèn dữ liệu từ một bảng cơ sở dữ liệu sang một bảng cơ sở dữ liệu khác trong Mysql

  3. Truy xuất MySQL bằng Kivy

  4. tại sao điều này cung cấp cho tôi số khách hàng sai?

  5. MySQL tại sao cursor.execute (sql, multi =True) không hoạt động nhưng 2 cursor.execute (sql) hoạt động?