EasyDate & Time Functions

Show orders from last 7 days, last 30 days, last 90 days

The query

SQL
SELECT
  'Last 7 days'::TEXT AS period,
  COUNT(*) AS orders,
  SUM(total) AS revenue
FROM orders WHERE order_date >= CURRENT_DATE - 7

UNION ALL

SELECT 'Last 30 days', COUNT(*), SUM(total)
FROM orders WHERE order_date >= CURRENT_DATE - 30

UNION ALL

SELECT 'Last 90 days', COUNT(*), SUM(total)
FROM orders WHERE order_date >= CURRENT_DATE - 90;
Tested against PostgreSQL 16

Note

UNION ALL combines multiple period queries into one result. Good for dashboard summary metrics.

Tables referenced