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

基于两张表,编写查询2019年第二季度5月得分的SQL语句

查询2019年5月得分的SQL优化与说明

你的基础SQL已经搭好了核心逻辑,不过为了精准匹配「2019年第二季度5月」的需求,我们可以补充年份过滤条件,避免误统计其他年份5月的数据。

你的原始查询代码

SELECT XD.user_Id, XD.[Name],XD.viTri,XD.sex ,SUM(BD.Point) as pointM 
FROM XemDiem XD 
INNER JOIN BieuDo BD On BD.user_Id = XD.user_Id 
WHERE Month(BD.[DateTime]) = 5 
GROUP BY XD.user_Id, XD.[Name],XD.viTri ,XD.sex

优化后的目标SQL

SELECT XD.user_Id, XD.[Name], XD.viTri, XD.sex, SUM(BD.Point) AS pointM
FROM XemDiem XD
INNER JOIN BieuDo BD ON BD.user_Id = XD.user_Id
-- 同时限定年份和月份,确保只统计2019年5月(属于第二季度)的数据
WHERE YEAR(BD.[DateTime]) = 2019 AND MONTH(BD.[DateTime]) = 5
GROUP BY XD.user_Id, XD.[Name], XD.viTri, XD.sex

关键细节说明

  • 新增YEAR(BD.[DateTime]) = 2019:精准锁定2019年,避免不同年份的5月数据混入结果
  • 如果需要统计所有XemDiem中的用户(包括BieuDo里无记录、得分为0的用户),可以把INNER JOIN改成LEFT JOIN,并将SUM(BD.Point)替换为ISNULL(SUM(BD.Point), 0)
  • 分组字段和SELECT中的非聚合字段完全对应,符合SQL语法规范,不会出现分组报错问题

内容的提问来源于stack exchange,提问作者Hoàng Hiệp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:44:19