Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Znajdź brakujące daty i dodaj je do wyniku - MySql

może to nie być idealne rozwiązanie, ale może dać wynik:drugie zapytanie po UNION ALL w wewnętrznej SELECT powinien zwrócić wszystkie daty między MIN(created) i MAX(created) Twojego stołu z wartością licznika 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ciąg znaków z indeksu z programistą SQL

  2. Jak mogę połączyć wiele tabel SQL przy użyciu identyfikatorów?

  3. Jak mogę otrzymać wiadomość e-mail, gdy moja tabela MySQL zostanie zaktualizowana?

  4. MySQL:wydajne zapytanie w kolumnie zbyt długiej do indeksowania

  5. Uwaga:Niezdefiniowana właściwość:stdClass::$user_id w C:\wamp\www\social\includes\class-query.php w wierszu 134