Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL избира вчерашната дата

Най-простият и най-добрият начин да получите вчерашната дата е:

subdate(current_date, 1)

Вашето запитване би било:

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

За любопитните, причината, че sum(condition) ви дава броя от редове, които отговарят на условието, което иначе би изисквало тромав и многословен case изявление, е, че в mysql булевите стойности са 1 за true и 0 за false, така че сумирането на условие ефективно брои колко пъти е вярно. Използването на този модел може да подобри вашия SQL код.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да отстраня грешките защо най-простата MySQL заявка връща false?

  2. Създаване на mysql таблица директно от CSV файл с помощта на CSV Storage двигателя?

  3. Как да намерите най-популярните думи в MySQL?

  4. Mysql превръща ' в ’?

  5. MySQL работи с 127.0.0.1, но не работи с localhost?