Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL wählt das gestrige Datum aus

Der einfachste und beste Weg, um das gestrige Datum zu erhalten, ist:

subdate(current_date, 1)

Ihre Abfrage wäre:

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

Für Neugierige der Grund, dass sum(condition) gibt Ihnen die Zählung von Zeilen, die die Bedingung erfüllen, was andernfalls eine umständliche und wortreiche case erfordern würde Anweisung ist, dass in mysql boolesche Werte 1 sind für wahr und 0 für falsch, so dass die Summierung einer Bedingung effektiv zählt, wie oft sie wahr ist. Die Verwendung dieses Musters kann Ihren SQL-Code aufräumen.