我有下表(剥离到基本要素):(脚本在 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)