# 网站功能与SQL数据依据

数据是课程教学模拟数据。`data/results/` 逐字节复制原始实际CSV，`data/provenance.json` 记录其SHA-256。`data/analysis.sql` 保存用户提供的个人改进版SQL。网站不直接执行SQL、不连接MySQL。

已读取：`6数据分析示例+6AI使用.docx`、个人改进版分析SQL、七份实际结果CSV，并补充读取完整材料包的建库测试脚本及数据库设计报告。未找到需求中提到的四张网页参考截图；现有课程PPT图片不是那四张网页参考图。

| SQL | 业务问题 | 网站位置 | 技术 | 实际结果与约束 |
| --- | --- | --- | --- | --- |
| Q1 | 计算机类哪些图书总馆藏量大于零 | 风向榜→馆藏速览、对应图书详情 | WHERE、ORDER BY | 计算机入门1与2各5本。仅总馆藏，不提供当前可借数量。 |
| Q2 | 读者01最新推荐批次及明细 | 为你推荐→ROLL、3D画廊、详情 | 五表JOIN、关联子查询、排序取最新 | 批次1；2026-10-15 09:00:00；按rank_no保持五本顺序；得分79、79、79、79、9。 |
| Q3 | 哪些类别借阅最多，取前五条 | 风向榜→借阅热榜、展开类别 | LEFT JOIN、GROUP BY、COUNT(l.loan_id)、LIMIT | 文学6、计算机6、历史5、艺术5、心理5；并列按类别编号。其他类别也有5次。 |
| Q4 | 哪些读者曾收到计算机推荐 | 推荐页轻量提示、数据依据Q4 | EXISTS、多表JOIN | 7位；读者页面只展示人数。这是推荐记录，不是兴趣或点击证据。 |
| Q5 | 固定统计日哪些借阅逾期未还 | 右上角铃铛→个人提醒、整体数据 | DATEDIFF、日期筛选、NULL、多表JOIN | 2026-10-15日终；13条，最长23天；只为读者01显示教育入门1、应还2026-10-01、逾期14天。 |
| Q6 | 每批推荐的点击与反馈收集情况 | 推荐页→数据背后的故事、数据依据Q6 | WITH、LEFT JOIN、COUNT/SUM、COALESCE、NULLIF、CASE | 12批/60推荐/30反馈/20点击；覆盖率50%、点击占全部33.33%、反馈中的点击66.67%。 |
| Q7 | 哪些具体图书借阅次数高于有借阅图书的平均值 | 风向榜→高于平均的图书→展开12本 | GROUP BY、HAVING、嵌套聚合、AVG | 19种/50次/均值约2.63；12种均3次，默认4本，展开12本，无虚构名次。 |

## 最新推荐批次

| rank_no | 图书 | 类别 | score |
| --- | --- | --- | --- |
| 1 | 文学入门1 | 文学 | 79 |
| 2 | 计算机入门1 | 计算机 | 79 |
| 3 | 文学入门2 | 文学 | 79 |
| 4 | 计算机入门2 | 计算机 | 79 |
| 5 | 历史入门1 | 历史 | 9 |

最新批次判定：`generated_at DESC, batch_id DESC LIMIT 1`。前端仅展示导出结果，不把动画等同于一次在线查询或新的模型推理。规则得分不是百分比、准确率或真实喜好。

## Q7的十二本书

文学入门1、计算机入门1、历史入门1、艺术入门1、心理入门1、经济入门1、科学入门1、语言入门1、教育入门1、生活入门1、文学入门2、计算机入门2。全部借阅3次。

Q7 CSV只给出符合条件的12种书，不能单独从这12行倒推出总体平均值。总借阅50次、有借阅19种，已另从建库测试脚本的50条loan记录复核，与提供的DOCX及需求说明一致。导入器自动核对满足均值条件的图书与Q7行顺序一致。

类别展开中的相关书目来自建库脚本的book和category数据，**不是**声称Q3查询直接返回了书名。图书的类别信息也来自该脚本；无真实内容简介，页面中的诗意文字标为“封面寄语”。

## Q6口径

- 反馈覆盖率：`SUM(feedback_count) / SUM(rec_count) = 30/60 = 50%`。
- 已记录点击占全部推荐：`SUM(clicks) / SUM(rec_count) = 20/60 ≈ 33.33%`。
- 有反馈记录中的点击比例：`SUM(clicks) / SUM(feedback_count) = 20/30 ≈ 66.67%`。
- 页面按计数汇总后计算，未对12个批次的百分比直接求平均。
- 无反馈批次无法判断真实点击；分母为零的比例用NULL表达无法计算。

## Q5边界

统计日固定2026-10-15。仅纳入此前已借出、应还日早于统计日、且统计日仍未还的记录。当天到期不算逾期；当天归还视为已归还；晚于统计日才归还，在当时仍算未还。应用不会按2026-10-22或以后访问日期改变历史天数。

## 本地状态与原始数据

本地状态键为 `cloudleaf.reader01.v1`，只保存喜欢及书架的图书编号。没有统计点击埋点、后台写入、身份认证、实时可借库存或伪造的数据库连接状态。原始CSV与快照计数不会因前端交互更改。

本项目没有真实个人信息；原始模拟CSV包含模拟读者，作为可下载课程证据提供。若用于真实业务，应使用有权限控制的后端提供个人数据，并重新设计反馈写入与推荐生成流程。
