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

如何编写SQL查询实现分国家列展示的完全接种疫苗人数统计报表

疫苗完全接种人数统计报表实现方案

需求确认

  • 报表按观测日期维度展示,每个日期对应4个指定国家的完全接种疫苗总人数
  • 数据关联规则:people_fully_vaccinated表与location表执行INNER JOIN关联
  • 最终输出为每行对应一个日期、每列对应一个国家接种数据的宽表格式

实现代码

假设两张表通过location_id字段关联,people_fully_vaccinated表存储日期、地点id、完全接种人数数据,location表存储地点id、国家名称等基础信息,参考SQL如下:

SELECT 
    pv.observation_date 观测日期,
    SUM(IF(l.country = '国家A', pv.people_fully_vaccinated, 0)) 国家A完全接种人数,
    SUM(IF(l.country = '国家B', pv.people_fully_vaccinated, 0)) 国家B完全接种人数,
    SUM(IF(l.country = '国家C', pv.people_fully_vaccinated, 0)) 国家C完全接种人数,
    SUM(IF(l.country = '国家D', pv.people_fully_vaccinated, 0)) 国家D完全接种人数
FROM people_fully_vaccinated pv
INNER JOIN location l ON pv.location_id = l.location_id
WHERE l.country IN ('国家A', '国家B', '国家C', '国家D')
GROUP BY pv.observation_date
ORDER BY pv.observation_date;

如果你的数据库不支持IF函数,可以替换为CASE WHEN写法,逻辑完全一致。你只需要把语句中的字段名、国家名称替换为你实际业务中的对应值,即可直接运行得到符合要求的报表数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:45:06