sql >> Databáze >  >> RDS >> Oracle

Oracle – Získejte data z minulého roku (Dynamic)

Můžete použít sysdate - interval '1' year reprezentovat dnešní datum před rokem:

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

Jak @Wernfried správně uvedl níže, výše uvedené by selhalo 29. února v přestupném roce. Místo toho použijte toto zástupné řešení:

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



  1. 2 způsoby, jak vrátit řádky, které obsahují nealfanumerické znaky v PostgreSQL

  2. Proč podmínky CROSS JOIN nefungují v klauzuli 'ON', pouze v klauzuli WHERE?

  3. Jak pěkně naformátovat tisk SQL dotazů v SQLAlchemy?

  4. Jak získat výsledek z dynamického SQL v Postgresu?