sql >> Databasteknik >  >> RDS >> Mysql

MySQL väljer gårdagens datum

Det enklaste och bästa sättet att få gårdagens dejt är:

subdate(current_date, 1)

Din fråga skulle vara:

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

För den nyfikna, anledningen till att sum(condition) ger dig räkningen rader som uppfyller villkoret, vilket annars skulle kräva ett besvärligt och ordrikt case är att booleska värden i mysql är 1 för true och 0 för falskt, så att summera ett tillstånd räknar effektivt hur många gånger det är sant. Att använda det här mönstret kan piffa till din SQL-kod.



  1. Hur får man enstaka kolumnvärden med MySQLi?

  2. Stöder MySQL Regexp Unicode-matchning

  3. Mysql Concat två kolumner medan du söker med LIKE

  4. Matcha en fras som slutar på ett prefix med fulltextsökning