WITH stats AS (
SELECT
AVG(daily_dbus) AS avg_dbus,
STDDEV(daily_dbus) AS stddev_dbus
FROM (
SELECT usage_date, SUM(usage_quantity) AS daily_dbus
FROM system.billing.usage
WHERE usage_date BETWEEN current_date() - INTERVAL 60 DAYS
AND current_date() - INTERVAL 7 DAYS
GROUP BY usage_date
)
)
SELECT
b.usage_date,
SUM(b.usage_quantity) AS daily_dbus,
s.avg_dbus,
ROUND((SUM(b.usage_quantity) - s.avg_dbus) / s.avg_dbus * 100, 1) AS deviation_pct
FROM system.billing.usage b
CROSS JOIN stats s
WHERE b.usage_date >= current_date() - INTERVAL 7 DAYS
GROUP BY b.usage_date, s.avg_dbus, s.stddev_dbus
HAVING SUM(b.usage_quantity) > s.avg_dbus + 2 * s.stddev_dbus
ORDER BY b.usage_date;