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

Oracle - Nhận dữ liệu từ năm trước (Động)

Bạn có thể sử dụng sysdate - interval '1' year đại diện cho ngày hôm nay một năm trước:

SELECT userID, COUNT(userID) AS count
FROM BookingTable 
WHERE Timebooked BETWEEN SYSDATE - INTERVAL '1' year AND SYSDATE
GROUP BY userID
HAVING COUNT(userID) > 2

Như @Wernfried đã chỉ ra một cách chính xác bên dưới, điều trên sẽ không thành công vào ngày 29 tháng 2 trong một năm nhuận. Thay vào đó, hãy sử dụng giải pháp này:

WHERE Timebooked BETWEEN ADD_MONTHS(SYSDATE, -12) AND SYSDATE



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểu dữ liệu SQL national character (NCHAR) thực sự dùng để làm gì?

  2. Truy vấn tính toán khoảng cách vĩ độ trong Oracle

  3. Làm thế nào để trích xuất các giá trị nút json có thể lặp lại một cách riêng biệt với XML bằng ORACLE SQL?

  4. ORA-01017 Tên người dùng / Mật khẩu không hợp lệ khi kết nối với cơ sở dữ liệu 11g từ ứng dụng khách 9i

  5. Hibernate's saveOrUpdate bỏ qua thuộc tính cột not-null