sql >> Databasteknik >  >> RDS >> Oracle

Oracle – Hämta data från det senaste året (Dynamiskt)

Du kan använda sysdate - interval '1' year för att representera dagens datum för ett år sedan:

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

Som @Wernfried korrekt påpekade nedan, skulle ovanstående misslyckas den 29 februari under ett skottår. Använd istället den här lösningen:

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



  1. CURRENT_TIMESTAMP Exempel – MySQL

  2. Från bas 10 till bas 26 endast med bokstäver så att 26 blir aa

  3. Räkna antalet NULL i rad

  4. Hur pg_sleep() fungerar i PostgreSQL