Cách đơn giản và tốt nhất để lấy ngày hôm qua là:
subdate(current_date, 1)
Truy vấn của bạn sẽ là:
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
Đối với những người tò mò, lý do mà sum(condition)
cung cấp cho bạn số lượng các hàng thỏa mãn điều kiện, nếu không sẽ yêu cầu case
rườm rà và dài dòng , là trong mysql giá trị boolean là 1
cho true và 0
đối với sai, vì vậy tính tổng một điều kiện có hiệu quả sẽ tính bao nhiêu lần điều kiện đó đúng. Sử dụng mẫu này có thể làm gọn gàng mã SQL của bạn.