用于计算调查完成百分比的SQL查询

时间:2013-10-23 06:33:11

标签: mysql ruby-on-rails-3 postgresql logic

这里我有一个调查和调查有很多问题。问题有很多答案。这是我的调查的非常基本的关系。每个问题都有一个'序列号'。这个'序列号'用于定义'下一个问题答案中的序号。所以基于几个答案,下一个问题将得到决定。例如,

---------------------- first page -----------------------
    1ques[page1])Are you married?(seq_num:1)
       Answer) a.Yes (next question sequnce number = 4)
               b.No  (next question sequnce number = 5)

    2ques[page1])Are you interested in colors ?(seq_num:2)
       Answer) a.Yes (next question sequnce number = 6)
               b.No  

    3ques[page1])Are you interested in colors ?(seq_num:3)
       Answer) a. < 25 years 
               b. >= 25 years  
=========================end===========================

如果我这样回答,1ques [page1] =&gt; b.No ,2ques [page1] =&gt; b.是,3ques [page1] =&gt;的湾&gt; = 25年,然后

---------------------- second page -----------------------
1ques[page2])Is there any plan for your wedding in next one year?(seq_num:5)
   Answer) a.Yes (next question sequnce number = 2)
           b.No  (next question sequnce number = 3)

2ques[page2])Which type of color do you like?(seq_num:6)
   Answer) a.light
           b.dark 
=========================end===========================

如果我这样回答,1ques [page1] =&gt; b.是,2ques [page1] =&gt; b.No ,3ques [page1] =&gt;的一个。 &LT; 25年,然后

---------------------- second page -----------------------
1ques[page2])How many children do you have?(seq_num:4)
   Answer) a.Yes (next question sequnce number = 2)
           b.No  (next question sequnce number = 3)

2ques[page2])What is your interensts?(seq_num:7)
   Answer) a.Arts
           b.science 
=========================end===========================
对于这么多页面,调查问答结构都是这样的。如果调查已经中间退出或者调查提交而没有回答。通过计算所有案例,应该计算调查完成情况。我的意思是,计算完成百分比我需要总问题。所以在任何一种情况下,用户将获得多少总问题。或者任何其他方式来计算完成百分比。作为参考,这里我提供调查的DB结构。

Surveys

Survey Questions

Survey Answers

谢谢!

1 个答案:

答案 0 :(得分:1)

你究竟想要什么? 我想你想要计算限制提交方式的百分比,比如完成百分比是否应该超过50%,类似的那样或什么?

因为你在这里展示的结构非常简单,但我没有得到你的要求。