gpt4 book ai didi

php - Mysql查询不求和多条记录,只取第一条记录

转载 作者:行者123 更新时间:2023-11-29 06:58:07 26 4
gpt4 key购买 nike

我们有一个表格(调查),其中包含不同的调查问题。每个 survey_id 在此表中只出现一次。

我们有一个投票表 (vote_survey_table),它记录了用户对每个调查问题的投票。该表包含 survey_id、vote_yes、vote_no、user_id 等字段。该表中每个 survey_id 都有多个条目。

我正在尝试查询投票表以将给定调查问题的所有投票相加,但我提出的查询仅将投票表中行的第一个实例相加。

SELECT survey.survey_id, vote_survey_table.vote_yes AS cnt,
survey.survey_name, survey.survey_details
FROM survey
LEFT JOIN vote_survey_table AS votedb ON vote_survey_table.vote_survey_id = survey.survey_id
GROUP BY survey.survey_id
ORDER BY cnt DESC, survey.survey_id LIMIT 0,5

我在这个查询中遗漏了什么应该告诉查询将投票表中 survey_id 的所有实例相加并汇总结果?我尝试将 LEFT JOIN 更改为 INNER JOIN,但这也没有成功。

一如既往地提前致谢。

最佳答案

您需要对选票求和。

SELECT survey.survey_id, SUM(vote_survey_table.vote_yes) AS cnt,
survey.survey_name, survey.survey_details
FROM survey LEFT JOIN vote_survey_table AS votedb
ON vote_survey_table.vote_survey_id = survey.survey_id
GROUP BY survey.survey_id, survey.survey_name, survey.survey_details
ORDER BY cnt DESC, survey.survey_id LIMIT 0,5

如果 vote_yes 是 bool 字段,则使用 COUNT 而不是 SUM

关于php - Mysql查询不求和多条记录,只取第一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11550002/

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