0

我创建了一个投票网站,用户是用来注册和投票的。我只为用户信息和评论创建了一个表。下面是表格的列和行:

用户:

列:用户名密码同意_1 原因_1 同意_2 原因_2

行:保罗测试是 NULL 否,因为我不喜欢它

我决定以这种方式制作这张表格,因为这些问题在一个(表格)中并且每个超过 100 行。再次,从表格中,如果您同意,您将不说明任何理由(这就是 null 的原因),但如果您不同意,则必须说明您的理由。我的问题是:

我如何为这样一个计划外的数据库准备标准报告?我如何计算同意的人数和拒绝的人数?对于那些说不的人,我该如何提取他们的理由?

我希望使用 php 提取和显示此报告。我正在使用 mysql 和 php。

4

1 回答 1

0

除非我误解了你,否则我认为你最好在考虑标准化的情况下重组你的表:

users
- id
- email
- name

polls
- id
- name

questions
- id
- poll_id
- question
- order

answers
- id
- question_id
- user_id
- answer

然后,希望您的要求和您需要的查询会变得更加清晰。例如,要查询对问题 #34 给出每个唯一答案的人数:

SELECT
    answer,
    count(*) AS 'people'
FROM answers
WHERE question_id = 34
GROUP BY answer

将返回如下内容:

answer    people
yes       15
no        17
null      3
于 2013-01-20T22:30:47.547 回答