Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL sélectionne la date d'hier

La façon la plus simple et la meilleure d'obtenir la date d'hier est :

subdate(current_date, 1)

Votre requête serait :

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

Pour les curieux, la raison pour laquelle sum(condition) vous donne le compte de lignes qui satisfont la condition, ce qui nécessiterait autrement un case lourd et verbeux déclaration, est que dans mysql les valeurs booléennes sont 1 pour vrai et 0 pour faux, donc la somme d'une condition compte effectivement combien de fois elle est vraie. L'utilisation de ce modèle peut améliorer votre code SQL.