Los paquetes de datos actualizada, y las fechas de relleno en blanco 0

Referencia: https://blog.csdn.net/jie11447416/article/details/50887888

1, las tablas de fecha

CREATE TABLE `my_date` (
  ` date` NULL Fecha DEFAULT
) ENGINE = InnoDB DEFAULT CHARSET = utf8;

2, tabla de números

CREAR num TABLA (int i); - para crear una tabla para almacenar los números 0-9
INSERT INTO num (i) VALORES ( 0), (1), (2), (3), (4), (5 ), (6), (7), (8), (9), - la generación de un digital de 0-9, para facilitar más tarde el cálculo del tiempo
3, se genera los datos de fecha y se inserta en
el inserto de la eN my_date (fecha) el SELECT
    ADDDATE (
        (- aquí la fecha de inicio, la fecha actual se puede reemplazar
            el DATE_FORMAT ( "01/01/2016", 'M - %%% Y-D')
        ),
        numlist.id
    ) date` en el anterior `AS
FROM
    (
        SELECT
            n1.i + * * 10 + n100.i n10.i + n1000.i * 100 * 10 000 1000 + AS ID n10000.i
        la DE
            NUM N1
        el CROSS la unión N10 NUM el AS
        el CROSS la unión NUM el AS N100
        la CRUZ la unión N1000 NUM el AS
        el CROSS la unión NUM la n10000 AS
    ) AS numlist;

4, el efecto ORDER_LINE datos en la tabla de origen

seleccione DATE_FORMAT (md.date, '% Y-% m-% d') t, count (a.id) de my_date md combinación izquierda order_line una de DATE_FORMAT (md.date, '% Y-% m-% d' ) = DATE_FORMAT ( un .created_time, '% Y-% m-% d')
donde DATE_FORMAT (md.date, '% Y-% m-% d')> = '01/01/2019' y DATE_FORMAT (md .date, '% Y-% m-% d') <= '01/30/2019'
grupo por t;

Publicado 52 artículos originales · ganado elogios 7 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/YKWNDY/article/details/93592245
Recomendado
Clasificación