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

MySQL Chọn dữ liệu tháng trước theo current_timestamp

Điều này sẽ mang lại cho bạn tháng trước:

WHERE dateColumn BETWEEN SUBDATE(CURDATE(), INTERVAL 1 MONTH) AND NOW();

Điều này từ đầu tháng:

WHERE dateColumn BETWEEN STR_TO_DATE('2012-09-01', '%Y-%m-%d') AND NOW();

BETWEEN không có gì đặc biệt, nó chỉ là một phím tắt của

dateColumn <= ... AND dateColumn >= ....

Rất tiếc, tôi đoán rằng so sánh NOW () không thực sự cần thiết, vì tất cả các bản ghi sẽ có trước bây giờ.

Vì vậy, chỉ cần làm:

WHERE dateColumn >= STR_TO_DATE('2012-09-01', '%Y-%m-%d')

Đầu động của tháng hiện tại:

WHERE dateColumn >= CURDATE() - INTERVAL DAY(CURDATE())-1 DAY

Tất cả những việc này là trích xuất ngày trong tháng từ ngày hiện tại, sau đó lấy ngày đó trừ đi nhiều ngày.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn một mục phù hợp với nhiều thẻ

  2. Cách đặt mức cô lập db mặc định của ứng dụng Ruby on Rails 4+

  3. Đếm và hiển thị bao nhiêu kết quả cột cụ thể

  4. được lưu trữ trong trường mysql nhưng không có ngắt dòng khi echo

  5. Mysql - Lỗi PDO - Tên danh mục không hợp lệ:1046 Không có cơ sở dữ liệu nào được chọn