MySQL在“book”表中查询图书类型是计算机类的平均价格在 20 元以上且图书数量在 2 本以上的出版社,查询结果按平均价格降序排序。
时间: 2024-02-18 22:06:24 浏览: 268
可以使用如下的MySQL语句来实现:
```
SELECT publisher, AVG(price) as avg_price, COUNT(*) as num_books
FROM book
WHERE type = '计算机类'
GROUP BY publisher
HAVING avg_price > 20 AND num_books > 2
ORDER BY avg_price DESC;
```
这个语句会先筛选出图书类型为“计算机类”的图书,然后按照出版社进行分组,并计算每个出版社图书的平均价格和数量。接着,使用HAVING子句筛选出平均价格在20元以上且图书数量在2本以上的出版社,最后按照平均价格降序排序输出结果。
相关问题
MySQL在 book 表中查询图书平均价格在 20 元以上(包括 20)且图书数量在 3 本以上(包括 3)的出版社。
可以使用如下的SQL语句来实现该功能:
```
SELECT publisher, AVG(price) AS avg_price, COUNT(*) AS book_count
FROM book
GROUP BY publisher
HAVING AVG(price) >= 20 AND COUNT(*) >= 3
```
解释一下这个SQL语句:
首先使用SELECT语句查询book表中的publisher、price和数量字段。同时,使用AVG函数计算每个出版社的图书平均价格,使用COUNT函数计算每个出版社的图书数量。然后使用GROUP BY语句按照出版社进行分组。最后,使用HAVING语句筛选出平均价格大于等于20元且图书数量大于等于3本的出版社。最终,这个SQL语句会返回每个符合条件的出版社、对应的平均价格和图书数量。
MySQL在book表中统计图书平均价格在20元以上的出版社
可以使用如下的SQL语句来实现该功能:
```
SELECT publisher, AVG(price) as avg_price
FROM book
GROUP BY publisher
HAVING AVG(price) > 20
```
解释一下这个SQL语句:
首先使用SELECT语句查询book表中的publisher和price字段,同时使用AVG函数计算每个出版社的图书平均价格。然后使用GROUP BY语句按照出版社进行分组,并且使用HAVING语句筛选出平均价格大于20元的出版社。最终,这个SQL语句会返回一个出版社和对应的平均价格。
阅读全文