sql >> Base de Datos >  >> RDS >> Mysql

MySQL seleccionando la fecha de ayer

La forma más simple y mejor de obtener la fecha de ayer es:

subdate(current_date, 1)

Su consulta sería:

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

Para los curiosos, la razón por la que sum(condition) te da el conteo de filas que satisfacen la condición, que de otro modo requeriría un case engorroso y prolijo declaración, es que en mysql los valores booleanos son 1 para verdadero y 0 por falso, por lo que sumar una condición efectivamente cuenta cuántas veces es verdadera. El uso de este patrón puede mejorar su código SQL.