select 产品名称,单价*单位数量*库存量 as 总额 from 产品 group by 产品名称 order by 总额 desc;错那里
时间: 2023-12-14 20:40:17 浏览: 18
这个 SQL 语句有问题,因为在 GROUP BY 子句中必须将所有未聚合的列都列出来,否则会出现错误。正确的语句应该是:
```
SELECT 产品名称, SUM(单价*单位数量*库存量) AS 总额
FROM 产品
GROUP BY 产品名称
ORDER BY 总额 DESC;
```
这样就可以按照产品名称分组,并计算每种产品的总额,最后按照总额降序排序了。
相关问题
五、数据查询语句考核,将代码复制到对应题目下方。(每小题5分,10小题共50分) 1)查询价格高于2500的产品的名称和库存量。 2)计算所有产品的总价值。 3)找出所有名称中含”电”的产品编号、名称和价格。 4)查询每种产品的产品情况及其销售的情况。 5)查询销售“洗衣机”产品的销售商名称及电话。 6)查询在2023年5月31日前销售的产品名称及其销售情况。 7)将产品信息按照价格从高到低排序。 8)创建一个查询各地区销售商数目的视图view1。 9)查询未销售“LED电视机”的销售商信息。 10)利用grant语句创建用户名为user1、主机名为localhost、密码为666888的用户账户,同时设置只对PD数据库产品表有select权限。
1)查询价格高于2500的产品的名称和库存量。
```
SELECT 产品名称, 库存量 FROM 产品 WHERE 价格 > 2500;
```
2)计算所有产品的总价值。
```
SELECT SUM(价格*库存量) AS 总价值 FROM 产品;
```
3)找出所有名称中含”电”的产品编号、名称和价格。
```
SELECT 产品编号, 产品名称, 价格 FROM 产品 WHERE 产品名称 LIKE '%电%';
```
4)查询每种产品的产品情况及其销售的情况。
```
SELECT 产品.产品名称, 产品.库存量, COUNT(销售.销售编号) AS 销售情况
FROM 产品 LEFT JOIN 销售 ON 产品.产品编号=销售.产品编号
GROUP BY 产品.产品名称, 产品.库存量;
```
5)查询销售“洗衣机”产品的销售商名称及电话。
```
SELECT 销售商.销售商名称, 销售商.电话 FROM 销售商
INNER JOIN 销售 ON 销售商.销售商编号=销售.销售商编号
INNER JOIN 产品 ON 销售.产品编号=产品.产品编号
WHERE 产品.产品名称='洗衣机';
```
6)查询在2023年5月31日前销售的产品名称及其销售情况。
```
SELECT 产品.产品名称, COUNT(销售.销售编号) AS 销售情况 FROM 产品
LEFT JOIN 销售 ON 产品.产品编号=销售.产品编号
WHERE 销售.销售日期 < '2023-05-31'
GROUP BY 产品.产品名称;
```
7)将产品信息按照价格从高到低排序。
```
SELECT * FROM 产品 ORDER BY 价格 DESC;
```
8)创建一个查询各地区销售商数目的视图view1。
```
CREATE VIEW view1 AS
SELECT 地区, COUNT(*) AS 销售商数目 FROM 销售商
GROUP BY 地区;
```
9)查询未销售“LED电视机”的销售商信息。
```
SELECT 销售商.* FROM 销售商
LEFT JOIN 销售 ON 销售商.销售商编号=销售.销售商编号
INNER JOIN 产品 ON 销售.产品编号=产品.产品编号
WHERE 产品.产品名称 <> 'LED电视机' OR 销售.销售编号 IS NULL;
```
10)利用grant语句创建用户名为user1、主机名为localhost、密码为666888的用户账户,同时设置只对PD数据库产品表有select权限。
```
GRANT SELECT ON PD.产品 TO 'user1'@'localhost' IDENTIFIED BY '666888';
```
有三个表,分别为:商品(商品编号,商品名称,单价,生产商),仓库(仓库编号,仓库地址,电话,容量),库存(仓库编号,商品编号,库存数量)。 用SQL语句写出下列查询: (1)查询不是青岛生产的商品的信息。 (2)查询每个仓库“四川长虹”生产的商品的库存总量,并按降序排序。 (3)查询各生产厂家的商品库存总量,并存入”库存总量”表。 (4)删除“四川长虹”生产的商品的库存信息。
(1)查询不是青岛生产的商品的信息:
```
SELECT * FROM 商品 WHERE 生产商 != '青岛';
```
(2)查询每个仓库“四川长虹”生产的商品的库存总量,并按降序排序:
```
SELECT 仓库.仓库编号, SUM(库存.库存数量) AS 库存总量
FROM 仓库, 库存, 商品
WHERE 仓库.仓库编号 = 库存.仓库编号 AND 库存.商品编号 = 商品.商品编号 AND 商品.生产商 = '四川长虹'
GROUP BY 仓库.仓库编号
ORDER BY 库存总量 DESC;
```
(3)查询各生产厂家的商品库存总量,并存入”库存总量”表:
```
INSERT INTO 库存总量 (生产商, 库存总量)
SELECT 商品.生产商, SUM(库存.库存数量) AS 库存总量
FROM 商品, 库存
WHERE 商品.商品编号 = 库存.商品编号
GROUP BY 商品.生产商;
```
(4)删除“四川长虹”生产的商品的库存信息:
```
DELETE FROM 库存 WHERE 商品编号 IN (
SELECT 商品编号 FROM 商品 WHERE 生产商 = '四川长虹'
);
```