在PostgreSQL中运行复杂的循环查询

时间:2014-04-03 14:27:31

标签: sql postgresql postgresql-9.1

我在PostgreSQL中遇到一个问题。

这是我的表格(此表格未显示图片中的所有数据)。

enter image description here

我的要求是:

第1步:查找值的计数(这是表格中的列)按今天日期的值排序。所以它会是这样的,我做到了。

enter image description here

第2步:从今天开始查找过去30天的值。我被困在这里。此步骤还包括另一件事 -

示例:今天有10个值 - kash,这将是10x30, 昨天有4个相同的值,所以将是4x29,所以总和将是

(10x30) + (4x29) = 416.

计算每个值的计算结果。

此循环执行 30次(正如我从今天开始的30天之前所说)。以今天第30天

查询只需返回两列值和总和按总和排序。

1 个答案:

答案 0 :(得分:1)

在现有查询中添加WHERE子句:

WHERE时间戳> current_date - interval' 30'天;

至于按总和排序,添加一个ORDER BY子句。

按COUNT排序(*)DESC。

我不相信你会为这个查询需要一个循环(CURSOR)。