建表语句、插入数据SQL:
CREATE TABLE DistrictProducts
(district VARCHAR(16) NOT NULL,
name VARCHAR(16) NOT NULL,
price INTEGER NOT NULL,
PRIMARY KEY(district, name, price));
INSERT INTO DistrictProducts VALUES('东北', '橘子', 100);
INSERT INTO DistrictProducts VALUES('东北', '苹果', 50);
INSERT INTO DistrictProducts VALUES('东北', '葡萄', 50);
INSERT INTO DistrictProducts VALUES('东北', '柠檬', 30);
INSERT INTO DistrictProducts VALUES('关东', '柠檬', 100);
INSERT INTO DistrictProducts VALUES('关东', '菠萝', 100);
INSERT INTO DistrictProducts VALUES('关东', '苹果', 100);
INSERT INTO DistrictProducts VALUES('关东', '葡萄', 70);
INSERT INTO DistrictProducts VALUES('关西', '柠檬', 70);
INSERT INTO DistrictProducts VALUES('关西', '西瓜', 30);
INSERT INTO DistrictProducts VALUES('关西', '苹果', 20);
求出两列可重组合
SELECT d1.name,d2.name from DistrictProducts d1,DistrictProducts d2
计算各个地区商品价格档位
SELECT *,RANK() over(ORDER BY price desc) as rank_1 FROM DistrictProducts;