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

Как да получа дати, които са от миналия понеделник до текущия ден?

Първо трябва да разберете колко дни беше миналия понеделник, като използвате DAYOFWEEK функция, след което извадете това от текущата дата -

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)

Не съм 100% сигурен за +/- числата тук, все пак трябва да можете да го разберете от това

РЕДАКТИРАНЕ:Ако това някога ще се изпълнява само в неделя в края на периода, има много по-проста версия -

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. SQL инжекцията не работи правилно

  2. jQuery Проверете използването на отдалечен метод, за да проверите дали вече съществува потребителско име

  3. Възникна JNI грешка, моля, проверете инсталацията си и опитайте отново в Eclipse x86 Windows 8.1

  4. Присъединете се към един ред от таблица в MySQL

  5. MYSQL:Как да копирам цял ред от една таблица в друга в mysql, като втората таблица има една допълнителна колона?