mysql - 在表上生成报告的最佳方式

标签 mysql report

问题是: 我有一张包含详细信息的表格,用户在注册或更新个人资料或参加不同考试时会使用该表格。 我需要的报告会有一些计算,比如总分。 我想好像最好创建新的表女巫包括我需要的报告,或者最好在同一张表上工作。

最佳答案

您能否提供更多详细信息?您要查询的表中有哪些可用字段?你想如何显示这些信息?在网站上?要报告吗?

根据您的描述,您需要两个表。一个表(我们称其为'users')将包含有关每个用户的信息,另一个表将包含实际考试成绩(我们称该表为'results')。

'user' 表中的每个人都有一个唯一的 ID 号(我称之为 UID)来识别他们, 中的每个分数'results' 表也有与分数相关的人的 UID。通过在“结果” 表中包含用户的 UID,您可以链接无限数量的结果(称为一对多关系)。

“用户” 表可能如下所示:

userUID (UID for each person) | Name | User Details
1 | Barack Obama | President 
2 | George Bush | Ex-President

“结果” 表可能如下所示:

UID for each exam | userUID (UID of the person who look the test) | Score
1 | 1 | 85
2 | 2 | 40    
3 | 1 | 82
4 | 2 | 25

我总是喜欢为考试之类的事情添加一个 UID,因为它可以让您轻松找到特定的考试结果。

无论如何...获取 Barack Obama 的所有结果的查询如下所示:

SELECT Score From 'results' WHERE userUID = 1

要获得 George Bush 的结果,您只需将 userUID 更改为 2。在运行此查询之前,您显然需要知道用户的 UID (userUID)。

请注意,这些是非常基本的示例(涉及虚构人物;))。您可以轻松地将聚合分数字段添加到“用户” 表,并在每次向“结果” 表添加新结果时更新该字段。根据您的代码设置方式,这可以节省您的查询。

祝您好运 - 希望这对您有所帮助!

关于mysql - 在表上生成报告的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/829881/

相关文章:

MySQL 查询连接花费的时间太长

oracle - 将 Oracle 报告 (.rdf) 转换为 BIRT 报告

ms-access - MS ACCESS - 表格子报告差距

php - MYSQL While 循环下拉菜单

php - 从 mysql 数据中获取 php 中的小计、总计和总计报告

jasper-reports - 将主要参数传递给Jasper Studio中的子数据集

sql-server - SSRS 报告在加载 IE 11 时卡住

mysql - 记录字段变化的审计历史

mysql - 在sql中的字段之间订阅

mysql - 如何改进索引内连接查询 Mysql?