Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle - Daten aus dem vergangenen Jahr abrufen (dynamisch)

Sie können sysdate - interval '1' year verwenden um das heutige Datum vor einem Jahr darzustellen:

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

Wie @Wernfried unten zu Recht darauf hingewiesen hat, würde das Obige für den 29. Februar in einem Schaltjahr fehlschlagen. Verwenden Sie stattdessen diese Problemumgehung:

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