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

Come trovare le righe (date) mancanti in una tabella MySQL?

Il modo più semplice per trovare le date mancanti è utilizzare una tabella del calendario. Ho pubblicato codice per creare e popolare una tabella di calendario per PostgreSQL ; dovresti essere in grado di adattarlo senza problemi.

Con la tabella del calendario in atto, la tua query è piuttosto semplice e facile da capire. Per trovare le date mancanti per ottobre 2011, useresti qualcosa del genere. (Indovinando al tuo tavolo "post".)

select c.cal_date
from calendar c
left join posts p on (c.cal_date = p.date)
where p.date is null
  and c.cal_date between '2011-10-01' and '2011-10-31'
  and p.userid = 1
order by c.cal_date