[英]How can I select different values in one table?
INST | MAXRATE | MAXDATE | TAX |
--------------------------------
1 | 1.5 | 17 | 0 |
2 | 0 | 20 | 0 |
3 | 0 | 35 | 0 |
4 | 0 | 45 | 18 |
5 | 0 | 50 | 1 |
我有一张这样的桌子。 我想在每一行中选择一个最大值。 例如,第一列有一个 INST,我想选择最大值。 我还想选择 50 作为 MAXDATE。 我该如何选择这些值? 这是我想要的示例输出。
INST | MAXRATE | MAXDATE | TAX |
---------------------------------
5 | 1.5 | 50 | 18 |
CREATE TABLE t1 (
INST NUMBER, MAXRATE NUMBER, MAXDATE NUMBER, TAX NUMBER
);
INSERT INTO t1 (INST, MAXRATE, MAXDATE, TAX) VALUES (1, 1.5, 17, 0);
INSERT INTO t1 (INST, MAXRATE, MAXDATE, TAX) VALUES (2, 0, 20, 0);
INSERT INTO t1 (INST, MAXRATE, MAXDATE, TAX) VALUES (3, 0, 35, 0);
INSERT INTO t1 (INST, MAXRATE, MAXDATE, TAX) VALUES (4, 0, 45, 18);
INSERT INTO t1 (INST, MAXRATE, MAXDATE, TAX) VALUES (5, 0, 50, 1);
SELECT MAX(INST), MAX(MAXRATE), MAX(MAXDATE), MAX(TAX) FROM t1;
https://sqlize.online/sql/oracle21/d281b1d5c7e91c8779773733c4f4273e/
你能试试这个想法或类似的东西吗?
SELECT MAX(INST) max_inst, b.max_maxrate
FROM YourTable a
INNER JOIN (
SELECT inst, MAX(maxrate) max_maxrate
FROM YourTable
GROUP BY inst
) b
ON a.inst = b.inst AND a.maxrate = b.maxrate
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.