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

Najděte chybějící datum a přidejte je do výsledku - MySql

nemusí to být dokonalé řešení, ale může vám to přinést výsledek:druhý dotaz po UNION ALL ve vnitřním SELECT by měla vrátit všechna data mezi MIN(created) a MAX(created) vaší tabulky s hodnotou počítadla 0.

    SELECT SUM(a.ctr)
      ,a.datecreated
  FROM 
  (

    SELECT COUNT(*) as ctr, date_format(created, '%d/%m/%y ') as datecreated 
    FROM mimesi_indexer.meta_served_clips
    GROUP BY DATE(created)
UNION ALL 
    select 0 as ctr, date_format(selected_date, '%d/%m/%y ') as datecreated 
       from 
     (select adddate('1970-01-01',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) selected_date from
     (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
     (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
     (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
     (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
     (select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) v
    where selected_date 
    between (SELECT MIN(created) FROM mimesi_indexer.meta_served_clips)
        and (SELECT MAX(created) FROM mimesi_indexer.meta_served_clips)
   ) a
   group by a.datecreated
   order by month(a.datecreated), date(a.datecreated)



  1. Jak mohu vybrat ze seznamu hodnot v Oracle

  2. C# MYSQL – PŘI AKTUALIZACI DUPLIKÁTNÍHO KLÍČE – Stejný dotaz Různé výsledky

  3. Chyba 1005 v MySQL (ze syntaxe cizího klíče?)

  4. Počet nenulových sloupců v každém řádku