对LibaryDB数据库完成以下查询: (1)按单位统计出该单位的读者人数。 (2)查找读者数在2人及以上的部门名称和读者人数。 (3)分别统计各出版社的图书的平均单价和总金额。 (4)对借阅表先读者编号按再按条码统计图书的借阅次数,并显示小计。 (5)将图书表按数量从大到小排序。 (6)将借阅表按借阅状态,状态相同再按借阅日期从小到大排序。 (7)对借阅表中的读者按类别分组,同类别的再按单位分别统计借阅次数,并按次数从大到小排序。
时间: 2023-12-29 15:05:37 浏览: 147
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 借阅次数 DESC;
```
阅读全文