小编war*_*ect的帖子

查询同一行的 Min、Max 和关联列数据

我有一个查询,其中按站点和月份返回平均值。我想知道的是按站点划分的月平均值的最小值和最大值以及(困难的部分)每个发生的月份。

这是一个例子:

SQL Fiddle 的东西在这里

CREATE TABLE events (
    esite     integer NOT NULL,
    edate     timestamp with time zone NOT NULL,
    evalue    integer NOT NULL
);

INSERT INTO events Values
    (1, '2016-01-03', 11),
    (2, '2016-01-05', 90),
    (1, '2016-01-08', 7),
    (2, '2016-01-10', 40),
    (1, '2016-01-15', 12),
    (1, '2016-01-18', 66),
    (2, '2016-01-22', 54),
    (2, '2016-02-03', 70),
    (2, '2016-02-05', 56),
    (1, '2016-02-08', 61),
    (2, '2016-02-10', 23),
    (1, '2016-02-15', 30),
    (1, '2016-02-18', 15),
    (1, '2016-02-22', 41);
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个查询,该查询返回(按站点)最小和最大月平均值evalue以及最小和最大值发生的月份。我可以通过使用下面的查询得到这个:

SQL 摆弄这个

select esite, date_trunc('month', edate) …
Run Code Online (Sandbox Code Playgroud)

postgresql aggregate greatest-n-per-group postgresql-9.4

5
推荐指数
1
解决办法
1585
查看次数