小编hdc*_*hdc的帖子

查询最高版本

我有下表(剥离到基本要素):(脚本在 postgresql 中)

CREATE TABLE t_version (
  name VARCHAR(64) NOT NULL,
  major INTEGER NOT NULL,
  minor INTEGER NOT NULL,
  attr VARCHAR(64)
);

ALTER TABLE t_version
  ADD CONSTRAINT PK_VERSION
  PRIMARY KEY (name, major, minor);
Run Code Online (Sandbox Code Playgroud)

以及一些测试数据:

INSERT INTO t_version (name, major, minor, attr) VALUES ('n1', 1, 0, 'a1');
INSERT INTO t_version (name, major, minor, attr) VALUES ('n1', 1, 1, 'a2');
INSERT INTO t_version (name, major, minor, attr) VALUES ('n1', 2, 0, 'a3');
Run Code Online (Sandbox Code Playgroud)

我想弄清楚,如何从中选择最高版本,即一个可以给我的选择

'n1', 2, 0, 'a3'

其结果。

我知道如何做到这一点,当只需要最高的次要版本时:

SELECT A.name, A.major, …
Run Code Online (Sandbox Code Playgroud)

postgresql sql-server greatest-n-per-group

3
推荐指数
1
解决办法
411
查看次数