【发布时间】:2013-10-31 08:48:40
【问题描述】:
我希望你们中的一个能够帮助我解决我的问题。
我正在构建一个简单的课程管理程序,它能够存储学员数据,例如姓名、开始日期、课程持续时间等。其中一个关键字段是课程的选择、课程日期和评估分数。
现在我想创建一个函数来检索用户参加的所有评估课程的平均值。
我的表格结构如下:
user_id |姓名 |开始日期 |团队 |课程1 | course1_date | course1_评估 |课程2 | course2_date | course2 评估 |课程3 | course3_date | course3_评估 |等等……
现在我在构建 SELECT 函数时遇到了问题,该函数为我提供了所有评估的正确平均值。填充所有字段时一切都很好,但可能会发生受训者尚未参加某些课程,但无论如何都需要提取平均值(如果即 course2_assessment 字段为 NULL)
我正在尝试做某事。喜欢:
"SELECT COALESCE(course1_assessment, course2_assessment, course3_assessment)/(只有来自 COALESCE(Array) 的一些字段,VALUES != NULL)FROM table WHERE name='$name'";
如果有人可以提出更好的方法,比如创建更多的表格,请随时提出建议。
问候
杰克
【问题讨论】:
-
更好的方法是规范化你的架构开始。
标签: mysql select average coalesce isnull