Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mendapatkan tanggal antara Senin lalu hingga hari ini?

Pertama-tama Anda harus mencari tahu berapa hari yang lalu Senin lalu, menggunakan DAYOFWEEK fungsi, lalu kurangi dari tanggal saat ini -

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)

Saya tidak 100% yakin tentang angka +/- di sini, Anda seharusnya bisa menyelesaikannya dari sini

EDIT:Jika ini hanya akan dijalankan pada hari Minggu di akhir periode, ada versi yang jauh lebih sederhana -

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. Mysql:Akses ditolak untuk pengguna 'root'@'localhost' tepat setelah instalasi di macOS

  2. Masukkan nilai hex ke MySql

  3. Mengapa panjang baris AVG 4 kali lebih besar dari yang diharapkan?

  4. Lancar Nhibernate:Tidak dapat membuat koneksi database ke MySQL

  5. Peringatan:mysql_num_rows() mengharapkan parameter 1 menjadi sumber daya, array diberikan dalam