Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL selecionando a data de ontem


A maneira mais simples e melhor de obter a data de ontem é:
subdate(current_date, 1)

Sua consulta seria:
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

Para os curiosos, a razão pela qual sum(condition) fornece a contagem de linhas que satisfaçam a condição, que de outra forma exigiria um case complicado e prolixo declaração, é que no mysql os valores booleanos são 1 para true e 0 para false, então somar uma condição efetivamente conta quantas vezes ela é verdadeira. Usar esse padrão pode melhorar seu código SQL.