如何使用分析函数为每辆车获取最高和最低价格使Oracle SQL成为可能?
假设你有一张有carsaleprice、carmodel和carmake的汽车桌。我如何使用分析函数找到每个汽车品牌的最高和最低汽车销售价格,并按最高价格降序排列 DDL和DML如何使用分析函数为每辆车获取最高和最低价格使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',
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