De eenvoudigste en beste manier om de datum van gisteren te krijgen is:
subdate(current_date, 1)
Uw vraag zou zijn:
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
Voor de nieuwsgierigen, de reden dat sum(condition)
geeft je de telling rijen die voldoen aan de voorwaarde, waarvoor anders een omslachtige en omslachtige case
. nodig zou zijn statement, is dat in mysql booleaanse waarden 1
. zijn voor true en 0
voor onwaar, dus het optellen van een voorwaarde telt effectief hoe vaak het waar is. Als u dit patroon gebruikt, kunt u uw SQL-code verfijnen.