Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle — uzyskaj dane z ubiegłego roku (dynamiczny)

Możesz użyć sysdate - interval '1' year do reprezentowania dzisiejszej daty sprzed roku:

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 słusznie zauważył @Wernfried poniżej, powyższe nie powiedzie się 29 lutego w roku przestępnym. Zamiast tego użyj tego obejścia:

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. Jak wyeliminować godziny wolne od pracy w Oracle

  2. Klient Oracle ORA-12541:TNS:no listener

  3. doktryna 2 gdzie warunek bez porównania

  4. Usługi baz danych na AWS i Oracle Cloud Platform

  5. Oracle — wyzwalacze do tworzenia wiersza historii podczas aktualizacji