sql >> Database teknologi >  >> RDS >> Mysql

Find manglende dato og tilføj dem til resultatet - MySql

det er måske ikke en perfekt løsning, men dette kan give dig resultatet:den anden forespørgsel efter UNION ALL i den indre skal SELECT returnere alle datoer mellem MIN(created) og MAX(created) af dit bord med tællerværdien 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. I stedet for Triggers i mysql

  2. Sådan kører du bash-kommando under omdirigering <<EOF

  3. Begræns sletteforespørgsel med dvale

  4. Slå advarsler og fejl fra på PHP og MySQL