将非静态月平均值与今天的平均值使用范围进行比较



我是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来执行此操作。

相关内容

  • 没有找到相关文章

最新更新