gpt4 book ai didi

mysql - 如何计算 mysql 数据库中结果列的百分比

转载 作者:行者123 更新时间:2023-11-29 23:04:49 28 4
gpt4 key购买 nike

我有一个下表,记录了用户对几个不同民意调查的响应;结果存储在响应列

CREATE TABLE IF NOT EXISTS `results` (
`poll_id` int(11) NOT NULL,
`response` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
`ip_number` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
KEY `poll_result` (`poll_id`,`poll_answer`)
)

每个民意调查都有一个唯一的 ID;例如,要求用户在两辆汽车之间进行选择的民意调查的 poll_id 为 1,但在响应列 中将包含两种可能的汽车的响应,例如 Range 或 Ford。

SELECT poll_answer  FROM `results` WHERE poll_id = 1  AND   poll_answer = 'Range'

我现在需要起草一个 SQl 查询以确定以下内容;

  1. 民意调查 1 中选择路虎揽胜作为最喜欢的汽车的用户总数和百分比

  2. 民意调查 1 中选择福特的用户总数和百分比。

  3. 回复民意调查 1 的用户总数**

我知道如何从一列中获取总计,但不知道如何从同一列中获取两个总计(使用两个不同的 where 子句);然后计算百分比。

SELECT Count(responce) FROM `results` WHERE poll_id = 1 AND response = 'range' 

最佳答案

您可以使用简单的分组来提供所有内容,或者如果您想要的话,可以通过添加 where 子句来过滤掉所有内容。

Select poll_id, (Select Count(poll_id) from results where poll_id = r.poll_id group by poll_id) Total_in_Poll, response, count(response) Total_responded, (Count(response) / ((Select Count(poll_id) from results where poll_id = r.poll_id group by poll_id) * 1.0)  * 100.00) Percent_responded
FROM results r
GROUP BY poll_id, response
order by poll_id

关于mysql - 如何计算 mysql 数据库中结果列的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28341606/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com