Najprostszym i najlepszym sposobem na uzyskanie wczorajszej daty jest:
subdate(current_date, 1)
Twoje zapytanie to:
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
Dla ciekawskich, powód, dla którego sum(condition)
daje ci liczbę wierszy spełniających warunek, który w innym przypadku wymagałby kłopotliwej i przegadanej case
stwierdzenie, że w mysql wartości logiczne to 1
dla true i 0
dla fałszu, więc sumowanie warunku skutecznie liczy, ile razy jest prawdziwy. Użycie tego wzorca może uporządkować Twój kod SQL.