sql >> Databáze >  >> RDS >> Mysql

SQL/MySQL:rozdělte hodnotu množství do více řádků podle data

Pokud se rozhodnete upgradovat na MySQL 8.0, zde je rekurzivní CTE, který vygeneruje seznam všech dnů mezi planning_start_date a planning_end_date spolu s požadovaným denním množstvím:

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`

Ukázka na dbfiddle



  1. Jak provedu vložení a vrácení vložené identity pomocí Dapper?

  2. Jak JOIN tabulku v MySQL s tabulkou v Oracle

  3. OperationalError:(2002, nelze se připojit k místnímu serveru MySQL přes soket '/var/run/mysqld/mysqld.sock' (2))

  4. Postgresql vloží spoušť ke zřetězení