如何使用分析函数为每辆车获取最高和最低价格使Oracle SQL成为可能?

如何使用分析函数为每辆车获取最高和最低价格使Oracle SQL成为可能?,sql,oracle,Sql,Oracle,假设你有一张有carsaleprice、carmodel和carmake的汽车桌。我如何使用分析函数找到每个汽车品牌的最高和最低汽车销售价格,并按最高价格降序排列 DDL和DML CREATE TABLE cars ( carmake VARCHAR2(10), carmodel VARCHAR2(10), carsaleprice NUMBER ); INSERT INTO cars (carmake, carmodel, carsaleprice) values ('ACURA',

假设你有一张有carsaleprice、carmodel和carmake的汽车桌。我如何使用分析函数找到每个汽车品牌的最高和最低汽车销售价格,并按最高价格降序排列

DDL和DML

CREATE TABLE cars (
 carmake VARCHAR2(10),
 carmodel VARCHAR2(10),
 carsaleprice NUMBER
);

INSERT INTO cars (carmake, carmodel, carsaleprice) values ('ACURA', 'RX', 50000);
INSERT INTO cars (carmake, carmodel, carsaleprice) values ('ACURA', 'RT', 40000);

INSERT INTO cars (carmake, carmodel, carsaleprice) values ('JAGUAR', 'LT', 40000);
INSERT INTO cars (carmake, carmodel, carsaleprice) values ('JAGUAR', 'LY', 30000);

INSERT INTO cars (carmake, carmodel, carsaleprice) values ('HONDA', 'OP', 20000);
INSERT INTO cars (carmake, carmodel, carsaleprice) values ('HONDA', 'PO', 10000);

INSERT INTO cars (carmake, carmodel, carsaleprice) values ('TOYOTA', 'BN', 30000);
INSERT INTO cars (carmake, carmodel, carsaleprice) values ('TOYOTA', 'NG', 20000);
预期结果

Carmake | HighestPrice | LowestPrice | Rank
--------------------------------------------
HONDA   | 20 000       | 10 000      |  4 
--------------------------------------------
TOYOTA  | 30 000       | 20 000      |  3 
--------------------------------------------
JAGUAR  | 40 000       | 30 000      |  2 
--------------------------------------------
ACURA   | 50 000       | 40 000      |  1 
--------------------------------------------
按carmake分组,然后最高价格为最高价格,最低价格为最低价格,您可以使用按最高价格降序排列的排名分析函数:

查询:

选择carmake, 最高汽车销售价格为最高价格, 最低汽车销售价格为最低价格, 按最大carsaleprice DESC排名超过订单 来自汽车 卡马克集团 高价订购 输出:


dbfiddle

请提供样本数据和期望的结果。这篇文章没有显示您的研究或努力。@GordonLinoff我添加了一个期望结果的表格nt:groupby。MIN.MAX.@GordonLinoff必须使用分析函数秩,我不知道如何使用 CARMAKE | HIGHESTPRICE | LOWESTPRICE | RANK :------ | -----------: | ----------: | ---: HONDA | 20000 | 10000 | 4 TOYOTA | 30000 | 20000 | 3 JAGUAR | 40000 | 30000 | 2 ACURA | 50000 | 40000 | 1