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

MySQL chọn tất cả các hàng từ tháng trước cho đến (bây giờ () - 1 tháng), cho các mục đích so sánh

Bạn có thể lấy số đầu tiên của tháng, bằng cách tính ngày_ngày cuối cùng của tháng trước đó và thêm một ngày. Thật là khó xử, nhưng tôi nghĩ tốt hơn là định dạng một ngày tháng dưới dạng chuỗi và sử dụng nó để tính toán.

select 
  *
from
  yourtable t
where
  /* Greater or equal to the start of last month */
  t.date >= DATE_ADD(LAST_DAY(DATE_SUB(NOW(), INTERVAL 2 MONTH)), INTERVAL 1 DAY) and
  /* Smaller or equal than one month ago */
  t.date <= DATE_SUB(NOW(), INTERVAL 1 MONTH)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiển thị tổng ở cuối cột trong mysql

  2. Làm thế nào để có được bản ghi khác biệt từ bảng mysql?

  3. Có bao nhiêu truy vấn là quá nhiều?

  4. Lỗi khởi động máy chủ MySQL 'Máy chủ thoát mà không cập nhật tệp PID'

  5. Codeigniter:Lỗi trong truy vấn ORDER BY CASE