You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求编写SQL查询语句:按候选人与职位统计投票数并关联信息

SQL查询解决方案

需求说明

现有三张数据库表(VOTES、POSITIONS、CANDIDATES),需编写SQL语句,生成包含total_votes(总票数)、candidate_id(候选人ID)、candidate_name(候选人姓名)、position_id(职位ID)、position_name(职位名称)的结果集。

表结构与数据

VOTES表(投票记录表)

idvoters_idcandidate_idpositions_id
1xxx186
2xxx186
3xxx186
4xxx186
5xxx196
6xxx196
7xxx2220
8xxx2220

POSITIONS表(职位表)

idtitle
6president
20mayor

CANDIDATES表(候选人表)

idname
18mark
19john
22eddie

期望输出

total_votescandidate_idcandidate_nameposition_idposition_name
418mark6president
219john6president
222eddie20mayor

(注:原期望输出中第二行候选人姓名有误,已修正为john)

SQL查询语句

SELECT
    COUNT(v.id) AS total_votes,
    v.candidate_id,
    c.name AS candidate_name,
    v.positions_id AS position_id,
    p.title AS position_name
FROM
    VOTES v
JOIN
    CANDIDATES c ON v.candidate_id = c.id
JOIN
    POSITIONS p ON v.positions_id = p.id
GROUP BY
    v.candidate_id, v.positions_id, c.name, p.title
ORDER BY
    position_id, total_votes DESC;

语句说明

  1. 分组统计:通过GROUP BY按候选人ID和职位ID分组,用COUNT(v.id)统计每组投票数,得到总票数total_votes。
  2. 表关联:使用JOIN关联候选人表和职位表,分别获取候选人姓名与职位名称。
  3. 字段别名:将查询字段重命名为需求指定的名称,与期望输出字段对应。
  4. 排序:添加ORDER BY按职位ID、总票数降序排列,让结果逻辑更清晰。

内容的提问来源于stack exchange,提问作者user19593694

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 05:45:34