对LibaryDB数据库完成以下查询: (1)按单位统计出该单位的读者人数。 (2)查找读者数在2人及以上的部门名称和读者人数。 (3)分别统计各出版社的图书的平均单价和总金额。 (4)对借阅表先读者编号按再按条码统计图书的借阅次数,并显示小计。 (5)将图书表按数量从大到小排序。 (6)将借阅表按借阅状态,状态相同再按借阅日期从小到大排序。 (7)对借阅表中的读者按类别分组,同类别的再按单位分别统计借阅次数,并按次数从大到小排序。
时间: 2023-12-30 11:06:16 浏览: 180
好的,我会为您完成这些查询。
1. 按单位统计出该单位的读者人数:
```
SELECT 单位, COUNT(*) AS 读者人数 FROM 读者表 GROUP BY 单位;
```
2. 查找读者数在2人及以上的部门名称和读者人数:
```
SELECT 部门, COUNT(*) AS 读者人数 FROM 读者表 GROUP BY 部门 HAVING COUNT(*) >= 2;
```
3. 分别统计各出版社的图书的平均单价和总金额:
```
SELECT 出版社, AVG(单价) AS 平均单价, SUM(数量*单价) AS 总金额 FROM 图书表 GROUP BY 出版社;
```
4. 对借阅表先读者编号按再按条码统计图书的借阅次数,并显示小计:
```
SELECT 读者编号, 条码, COUNT(*) AS 借阅次数 FROM 借阅表 GROUP BY 读者编号, 条码 WITH ROLLUP;
```
5. 将图书表按数量从大到小排序:
```
SELECT * FROM 图书表 ORDER BY 数量 DESC;
```
6. 将借阅表按借阅状态,状态相同再按借阅日期从小到大排序:
```
SELECT * FROM 借阅表 ORDER BY 借阅状态, 借阅日期 ASC;
```
7. 对借阅表中的读者按类别分组,同类别的再按单位分别统计借阅次数,并按次数从大到小排序:
```
SELECT 类别, 单位, COUNT(*) AS 借阅次数 FROM 借阅表 JOIN 读者表 ON 借阅表.读者编号 = 读者表.读者编号 GROUP BY 类别, 单位 ORDER BY COUNT(*) DESC;
```
阅读全文