我是SQl的新手,我想创建一个SQl文件来监控我们的数据库
1-第一件事,是创建一个月平均值,它将是非静态的,并将改变每天的
例如:今天是11月5日,计算从10月4日到11月4日的月平均
2-第二部分:假设月平均值为100,今天的平均值为60。月平均值的50%范围是50(100*50%(。如果今天的平均值低于每月50%的愤怒,那么低于50%就应该通知我们。如果高于它就可以了,就像我们的一样
感谢
你可以用这样的东西做每月平均值
SELECT AVG(value_field) FROM table WHERE date_field > CURRENT_DATE-interval '1 month'
不明白你想做的第二件事。
[编辑]
像这样的东西?
WITH monthly_avg AS (
SELECT AVG(value_field) AS av FROM table WHERE date_field > CURRENT_DATE-interval '1 month' AND date_field < CURRENT_DATE
),
daily_avg as (
SELECT AVG(value_field) AS av FROM table WHERE date_field = CURRENT_DATE
)
SELECT daily_avg.av>monthly_avg.av FROM monthly_avg, daily_avg;
如果您希望得到通知,您可以使用存储过程或smth来执行此操作。