sql >> Database >  >> RDS >> Mysql

MySQL selecteert de datum van gisteren

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.



  1. Problemen bij het gebruik van MySQL met AWS Lambda in Python

  2. Problemen met PostgreSQL-prestaties identificeren met trage query's

  3. Mysql selecteer waar niet in tabel

  4. Schrijven naar MySQL-database met panda's met behulp van SQLAlchemy, to_sql