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

SQL / MySQL:chia một giá trị số lượng thành nhiều hàng theo ngày

Nếu bạn quyết định nâng cấp lên MySQL 8.0, đây là CTE đệ quy sẽ tạo danh sách tất cả các ngày giữa planning_start_dateplanning_end_date cùng với số lượng yêu cầu hàng ngày:

WITH RECURSIVE cte AS (
    SELECT planning_start_date AS date, 
           planning_end_date, 
           quantity / (DATEDIFF(planning_end_date, planning_start_date) + 1) AS daily_qty
    FROM test
    UNION ALL
    SELECT date + INTERVAL 1 DAY, planning_end_date, daily_qty
    FROM cte
    WHERE date < planning_end_date
)
SELECT `date`, daily_qty
FROM cte
ORDER BY `date`

Demo trên dbfiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để xem các chỉ mục cho cơ sở dữ liệu hoặc bảng trong MySQL?

  2. Truy cập MySQL của MAMP từ Terminal

  3. Kết nối máy tính-cơ sở dữ liệu-jpa ứng dụng mẫu Play 2.1 với MySQL

  4. Cách xuất dữ liệu từ SQL Server 2005 sang MySQL

  5. Tìm các bản ghi chưa từng có