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

MySQL query yearweek minggu ini dimulai pada hari Kamis, berakhir pada hari Rabu

Anda dapat memanfaatkan WEEKDAY() yang mengembalikan angka yang mewakili hari dalam seminggu (0 =Senin, 6 =Minggu) dan beberapa matematika langsung untuk menulis ulang kueri ini.

Kurangi hari kerja yang Anda inginkan untuk memulai minggu (dalam kasus Anda 4 =Kamis) dari tanggal yang dipilih, tambahkan 7 dan ambil sisanya dari 7. Ini akan memberi Anda jumlah hari untuk dikurangi untuk memulai rentang Anda.

Logika serupa berlaku untuk menghitung tanggal akhir rentang.

SELECT * 
FROM transactions 
WHERE DATE(transactionDate)
    BETWEEN DATE_SUB(DATE(NOW()), INTERVAL (WEEKDAY(NOW()) - 4 + 7) % 7 DAY)
        AND DATE_ADD(DATE(NOW()), INTERVAL 6 - (WEEKDAY(NOW()) - 4 + 7) % 7 DAY)
ORDER BY transactionDate DESC;

Untuk tanggal mulai yang berbeda, ganti hari kerja dengan 4 dalam kueri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana melakukan banyak kueri ke SQL

  2. Pembaruan LaravelAtauBuat dengan basis data tambahan otomatis

  3. SQL:hapus nilai duplikat dari pilihan berdasarkan 2 bidang

  4. Hapus data dari semua tabel di MYSQL

  5. Bagaimana mysql memasukkan jutaan catatan lebih cepat?