sql >> Database teknologi >  >> RDS >> Mysql

MySQL vælger gårsdagens dato

Den enkleste og bedste måde at få gårsdagens date på er:

subdate(current_date, 1)

Din forespørgsel ville være:

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

For de nysgerrige, grunden til, at sum(condition) giver dig tællingen rækker, der opfylder betingelsen, som ellers ville kræve en besværlig og ordrig case sætning, er, at i mysql er booleske værdier 1 for sand og 0 for falsk, så summering af en betingelse tæller effektivt, hvor mange gange den er sand. Brug af dette mønster kan gøre din SQL-kode pænere.



  1. Codeigniter-model med flere opdateringsbetingelser ved hjælp af manual where-erklæring

  2. Hvordan implementerer man en søgeordssøgning i MySQL?

  3. mysqldump fejl:Fik pakke større end max_allowed_packet'

  4. Bedste fremgangsmåder til at vise søgeresultater med tilhørende tekstuddrag fra det faktiske resultat