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

ambil 3 baris setiap hari jika dijadwalkan selama 1 tahun

Anda dapat menggunakan dense_rank() dan aritmatika untuk menempatkan baris dalam kelompok 3:

select b.*,
       ceiling(dense_rank() over (order by id) / 3)
from bibles b

Pertanyaannya kemudian bagaimana cara mendapatkan tanggalnya. Berdasarkan contoh Anda, ini mungkin:

select b.*,
       '2020-02-23' + interval ( ceiling(dense_rank() over (order by id) / 3) - 1) day
from bibles b;

Namun, - 1 tergantung pada apa baris pertama di set hasil. Jika Anda ingin memulai dari 365, maka:

select b.*,
       '2020-02-23' + interval ( ceiling(dense_rank() over (order by id) / 3) - 1) day
from bibles b
where id >= 365;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Aktifkan Dukungan Mesin Penyimpanan MySQL InnoDB di Instalasi XAMPP

  2. Mengimpor CSV ke MySQL dengan format tanggal berbeda

  3. Cara membuat arsitektur titik waktu di MySQL

  4. bidang teks jenis input memberikan kesalahan tetap 2147483647

  5. MySQL mendapatkan daftar kontak yang dipesan berdasarkan pesan terakhir yang dikirim/diterima