sql >> Base de Datos >  >> RDS >> Mysql

generar_series() equivalente en MySQL

Así es como lo hago. Crea un rango de fechas desde 2011-01-01 al 2011-12-31 :

select 
    date_format(
        adddate('2011-1-1', @num:[email protected]+1), 
        '%Y-%m-%d'
    ) date
from 
    any_table,    
    (select @num:=-1) num
limit 
    365

-- use limit 366 for leap years if you're putting this in production

El único requisito es que el número de filas en cualquier_tabla debe ser mayor o igual al tamaño del rango necesario (>=365 filas en este ejemplo). Lo más probable es que use esto como una subconsulta de su consulta completa, por lo que en su caso any_table puede ser una de las tablas que usa en esa consulta.