gpt4 book ai didi

MYSQL:复杂查询问题

转载 作者:行者123 更新时间:2023-11-29 05:00:57 24 4
gpt4 key购买 nike

我正在处理民意调查:每个民意调查都有很多选项,用户可以在民意调查中投票一次。因此我有一个包含以下字段的“投票”表:

  • id(投票的id)
  • option_id(所选投票选项的 id)
  • user_id(用户的id)
  • poll_id(民意调查的 id)

所以这就是我正在尝试做的事情:给定一个 poll_id 数组,我想让一个查询为每个民意调查返回投票最多的选项。因此,如果我给出 1 和 2 的 poll_id,我想找回民意调查 1 和 2 的投票最多的选项。我尝试了以下方法:

SELECT
t1.poll_id,
t1.option_id,
count(t1.option_id) AS num_votes,
t2.option_id AS user_vote
FROM
votes AS t1
JOIN
votes AS t2
ON
t1.id = t2.id
WHERE
t1.poll_id IN (30,40)
GROUP BY
t1.option_id;

这几乎可以解决问题...但为我提供了所有 民意调查选项以及为提供的每个民意调查提供的相应选票,而不仅仅是投票最多的选项。如果有人有任何想法,我将不胜感激。谢谢。

最佳答案

SELECT  (
SELECT option_id
FROM votes v
WHERE v.poll_id = p.id
GROUP BY
option_id
ORDER BY
COUNT(*) DESC
LIMIT 1
) cnt
FROM polls p
WHERE p.id IN (1, 2)

关于MYSQL:复杂查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/715020/

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