Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać daty od ostatniego poniedziałku do bieżącego dnia?

Najpierw musisz obliczyć, ile dni temu był ostatni poniedziałek, używając DAYOFWEEK funkcji, a następnie odejmij ją od bieżącej daty -

SELECT * from table
WHERE date >= DATE_SUB(CURDATE(),INTERVAL MOD(DAYOFWEEK(CURDATE())-2,7) DAY)
AND   date <= DATE_ADD(CURDATE(), INTERVAL MOD(7 - (DAYOFWEEK(CURDATE()) - 1), 7) DAY)

Nie jestem w 100% pewien liczb +/-, ale powinieneś być w stanie to wypracować

EDYCJA:Jeśli to będzie uruchamiane tylko w niedzielę pod koniec okresu, istnieje znacznie prostsza wersja -

SELECT * from table
WHERE date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
AND   date <= CURDATE()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pojawia się błąd HTTP Status 405 - Metoda HTTP GET nie jest obsługiwana przez ten adres URL, ale nigdy nie była używana `get`?

  2. Błąd krytyczny:wywołanie zwrotne tablicy musi zawierać indeksy 0 i 1

  3. Kod błędu MySQL 1452 Ograniczenie klucza obcego

  4. SQL Gdzie DOWOLNA kolumna jest równa wartości

  5. Wybór zwycięzców kuponów na loterię PHP