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

MySQL selezionando la data di ieri

Il modo più semplice e migliore per ottenere la data di ieri è:

subdate(current_date, 1)

La tua domanda sarebbe:

SELECT 
    url as LINK,
    count(*) as timesExisted,
    sum(DateVisited between UNIX_TIMESTAMP(subdate(current_date, 1)) and
        UNIX_TIMESTAMP(current_date)) as timesVisitedYesterday
FROM mytable
GROUP BY 1

Per i curiosi, il motivo per cui sum(condition) ti dà il conteggio di righe che soddisfano la condizione, che altrimenti richiederebbe un case ingombrante e prolisso istruzione, è che in mysql i valori booleani sono 1 per true e 0 per false, quindi sommare una condizione conta effettivamente quante volte è vera. L'uso di questo modello può ripulire il tuo codice SQL.