Select 所有列按版本分组 - Postgres
Select all columns grouping by version - Postgres
我需要查询所有客户的 table 中的所有列,主要因素是每个客户的最新版本。
我的table:
我的查询:
SELECT DISTINCT ON(code)
code,
namefile,
versioncol,
status
FROM table_A
ORDER BY versioncol desc
错误:
ERROR: SELECT DISTINCT ON expressions must match initial ORDER BY expressions
LINE 1: SELECT DISTINCT ON(code)
Postgres 的错误消息试图告诉您该怎么做:
DISTINCT ON
expressions must match initial ORDER BY
expressions
实际上这很清楚:要使您的代码成为有效的 DISTINCT ON
查询,您只需添加 code
(即 DISTINCT ON
表达式) 作为查询的第一个排序标准(即作为 初始 ORDER BY
)。
SELECT DISTINCT ON(code) a.*
FROM table_A a
ORDER BY code, versioncol DESC
我需要查询所有客户的 table 中的所有列,主要因素是每个客户的最新版本。
我的table:
我的查询:
SELECT DISTINCT ON(code)
code,
namefile,
versioncol,
status
FROM table_A
ORDER BY versioncol desc
错误:
ERROR: SELECT DISTINCT ON expressions must match initial ORDER BY expressions LINE 1: SELECT DISTINCT ON(code)
Postgres 的错误消息试图告诉您该怎么做:
DISTINCT ON
expressions must match initialORDER BY
expressions
实际上这很清楚:要使您的代码成为有效的 DISTINCT ON
查询,您只需添加 code
(即 DISTINCT ON
表达式) 作为查询的第一个排序标准(即作为 初始 ORDER BY
)。
SELECT DISTINCT ON(code) a.*
FROM table_A a
ORDER BY code, versioncol DESC