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

Tạo dữ liệu cho phạm vi ngày bao gồm cả những ngày không có trong dữ liệu

Một bảng lịch phụ sẽ hoạt động tốt. Bảng lịch đơn giản nhất có thể là một cột ngày tháng.

create table calendar (
    cal_date date primary key
);

Bạn có thể sử dụng bảng tính hoặc SQL để điền nó. Một kết nối bên ngoài trên nó sẽ mang lại những ngày tháng không tồn tại trong dữ liệu của bạn. Giới hạn quyền với GRANT và REVOKE, đồng thời sử dụng bất kỳ phương tiện nào cần thiết để đảm bảo rằng những ngày bạn mong đợi sẽ thực sự ở đó. Tôi chạy một báo cáo hàng ngày trên máy chủ của mình để đảm bảo có hàng 'n' và xác minh các ngày sớm nhất và mới nhất.

Trên một số nền tảng, bạn có thể tạo một chuỗi ngày nhanh chóng và sử dụng trực tiếp hoặc trong CTE. PostgreSQL có các chức năng cho điều đó; Tôi không biết liệu MySQL có. Tuy nhiên, chúng không khó viết nếu bạn muốn tự viết.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay đổi số bắt đầu tăng tự động?

  2. Truy vấn SQL để lấy tổng phụ của một số hàng

  3. Trường ORDER BY ENUM trong MYSQL

  4. PHP, PDO, MySQL, Thông báo:Đang cố gắng lấy thuộc tính của non-object

  5. Truy vấn cơ sở dữ liệu MySQL và nhóm theo phạm vi ngày để tạo biểu đồ