Mysql 数据库:如何对表进行数学运算

Mysql 数据库:如何对表进行数学运算,mysql,database,Mysql,Database,我正在进行调查,并尝试使用数据库执行以下操作 根据特定类别对选项求和 option_no in "answer" table 然后根据每一类问题的数量除以总和 question_num in "category" table 最后将结果存储在用户服务表的score和score2列上 这是 有人知道如何做到这一点吗?试试看 加入表格,对输出进行分组并添加聚合,然后得出答案并将其写入用户调查: insert into user_survey select a.user_id, s.survey

我正在进行调查,并尝试使用数据库执行以下操作

根据特定类别对选项求和

option_no in "answer" table
然后根据每一类问题的数量除以总和

question_num in "category" table
最后将结果存储在用户服务表的score和score2列上

这是

有人知道如何做到这一点吗?

试试看

加入表格,对输出进行分组并添加聚合,然后得出答案并将其写入用户调查:

insert into user_survey
select a.user_id, s.survey_id,
  sum(option_no)/sum(question_num) as score, 
  sum(option_no)/sum(question_num) as score2
from answer a join questions q on a.question_id = q.question_id
join category c on q.category_id = c.category_id 
join survey s on q.question_id = s.question_id
group by a.user_id, s.survey_id

如果我的逻辑错了,我道歉,您的描述真的不是很清楚,我无法尝试,因为您没有提供实际的CREATE TABLE语句,这违反了指导原则。

实际上感谢您的努力。.这是工作,因为下面我有问题,每个问题都属于类别。.所以我添加了属于类别的问题数量。。我假设问题_num已经添加到数据库中了..我只需对用户选项sumpoption_no求和,然后将其除以问题_num@mandyshaw,很抱歉,我无法理解这一点。。。也许你可以解释一下业务需求?这会有帮助。好吧。业务需求是假设我有多个生存期。每个调查都有多个问题,因此用户在选择一个调查后,必须在开始之前填写一些信息,然后再转到问题。其中一个调查有不同的方法,即在用户完成此项调查后,将所有问题分类调查他将通过输入的电子邮件收到计算结果,结果的开头是类别/问题数量选项的总和@MandyShawfor ex:如果我有类别:cat1、cat2、cat3。。cat1包含3个问题和*cat1:*包含2个问题*cat1:*包含4个问题..假设问题1,2,3,5延伸至cat 1,问题6,7延伸至cat 2,因此结果将为用户选择的选项值的以下总和,因此如果用户回答cat 2,2,3的问题,则cat1中的问题编号将为2+2+3/即3,然后存储每个选项值根据我有多少类别@MandyShawI真的很抱歉,但我仍然无法计算出这个结果。老实说,如果你加上一些标点符号可能会有所帮助。另外,我的例子在制定方法方面对您没有帮助吗?请记住,我们不是来为您编写代码的。我读了你最近的评论,仍然没有让我的回答中的逻辑感到绝对错误。