sql >> Databáze >  >> RDS >> Mysql

MySQL vybírá včerejší datum

Nejjednodušší a nejlepší způsob, jak získat včerejší datum, je:

subdate(current_date, 1)

Váš dotaz by byl:

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

Pro zvědavé, důvod, proč sum(condition) vám poskytne počet řádků, které splňují podmínku, která by jinak vyžadovala těžkopádný a složitý case je, že v mysql jsou booleovské hodnoty 1 pro true a 0 pro nepravdu, takže součet podmínky efektivně počítá, kolikrát je pravdivá. Použití tohoto vzoru může upravit váš kód SQL.



  1. SELECT COUNT(*) AS count - Jak používat tento počet

  2. Podporované modely formátů pro datové funkce ROUND() a TRUNC() v Oracle

  3. Uzamkněte tabulku mysql pomocí php

  4. Zprovoznění MySQL na OSX 10.7 Lion