Det enklaste och bästa sättet att få gårdagens dejt är:
subdate(current_date, 1)
Din fråga skulle vara:
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 den nyfikna, anledningen till att sum(condition)
ger dig räkningen rader som uppfyller villkoret, vilket annars skulle kräva ett besvärligt och ordrikt case
är att booleska värden i mysql är 1
för true och 0
för falskt, så att summera ett tillstånd räknar effektivt hur många gånger det är sant. Att använda det här mönstret kan piffa till din SQL-kod.