Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

tìm nạp 3 hàng mỗi ngày nếu lập lịch trong 1 năm

Bạn có thể sử dụng dense_rank() và số học để xếp các hàng thành nhóm 3:

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

Câu hỏi đặt ra là làm thế nào để lấy được ngày tháng. Dựa trên ví dụ của bạn, đây có thể là:

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

Tuy nhiên, - 1 phụ thuộc vào hàng đầu tiên trong tập kết quả. Nếu bạn muốn nó bắt đầu ở 365, thì:

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. Các cơ sở dữ liệu khác nhau có sử dụng các tên khác nhau không?

  2. PHP / MySQL Xóa hình ảnh khỏi cơ sở dữ liệu

  3. sử dụng cơ sở dữ liệu để ghi nhật ký

  4. Rails - rake db:tạo lỗi

  5. Kết nối từ xa với cơ sở dữ liệu MySQL