相关疑难解决方法(0)

GROUP BY 一列,同时在 PostgreSQL 中按另一列排序

我怎么能在GROUP BY一个列中排序,而按另一列排序。

我正在尝试执行以下操作:

SELECT dbId,retreivalTime 
    FROM FileItems 
    WHERE sourceSite='something' 
    GROUP BY seriesName 
    ORDER BY retreivalTime DESC 
    LIMIT 100 
    OFFSET 0;
Run Code Online (Sandbox Code Playgroud)

我要选择的最后一个从FileItems / N /项,按降序排列,与过滤行DISTINCT的值seriesName。上面的查询出错了ERROR: column "fileitems.dbid" must appear in the GROUP BY clause or be used in an aggregate function。我需要该dbid值以便然后获取此查询的输出,并将JOIN其放在源表上以获取我所在的其余列。

请注意,这基本上是以下问题的格式塔,为了清楚起见,删除了许多无关的细节。


原始问题

我有一个要从 sqlite3 迁移到 PostgreSQL 的系统,因为我已经在很大程度上超出了 sqlite:

    SELECT
            d.dbId,
            d.dlState,
            d.sourceSite,
        [snip a bunch of rows]
            d.note

    FROM FileItems AS d
        JOIN
            ( …
Run Code Online (Sandbox Code Playgroud)

postgresql performance postgresql-9.3 greatest-n-per-group query-performance

9
推荐指数
2
解决办法
3万
查看次数