SQL数据库上的select sum功能如何实现符合条件的不同列数值统计?
A数量B数量C数量A时间B时间C时间209882013-9-52012-2-22013-2-2154232013-8-12013-9-52013-5-2599152013...
A数量 B数量 C数量 A时间 B时间 C时间
20 9 88 2013-9-5 2012-2-2 2013-2-2
15 4 23 2013-8-1 2013-9-5 2013-5-2
59 9 15 2013-7-25 2013-7-25 2013-1-8
符合2013-9-5日期的A数量20+B数量4=24
如何用select sum语句实现以上的数值24?
我会有分给的啊 展开
20 9 88 2013-9-5 2012-2-2 2013-2-2
15 4 23 2013-8-1 2013-9-5 2013-5-2
59 9 15 2013-7-25 2013-7-25 2013-1-8
符合2013-9-5日期的A数量20+B数量4=24
如何用select sum语句实现以上的数值24?
我会有分给的啊 展开
3个回答
展开全部
首先:你这个表结构设计的就太不合理, 数据量大的时候查询将非常耗时耗资源。
你的问题是否可以这样理解?输入一个日期, 将改日期下A B C的数量(如果存在记录)求和输出?但是这样问题就出来了, 也就是说你只能每次查询一个日期下的数量总和, 而不能按日期来汇总数量总和, 所以说设计的结构不合理!
其次:你要的这个功能, 可以实现。
思路:
必定要用拼接语句, 动态查询出所有存在的唯一日期, 逐个日期查询A B C的数量, 求和!这样查询出来的就是按日期汇总的数量了。
不知道你是否理解?
你的问题是否可以这样理解?输入一个日期, 将改日期下A B C的数量(如果存在记录)求和输出?但是这样问题就出来了, 也就是说你只能每次查询一个日期下的数量总和, 而不能按日期来汇总数量总和, 所以说设计的结构不合理!
其次:你要的这个功能, 可以实现。
思路:
必定要用拼接语句, 动态查询出所有存在的唯一日期, 逐个日期查询A B C的数量, 求和!这样查询出来的就是按日期汇总的数量了。
不知道你是否理解?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样
declare @sdate date
select @sdate='2013/9/5'
select SUM(
case when A日期=@sdate then A数量 else 0 end +
case when B日期=@sdate then B数量 else 0 end +
case when C日期=@sdate then C数量 else 0 end
) as 总数
from 表名
祝你成功!
declare @sdate date
select @sdate='2013/9/5'
select SUM(
case when A日期=@sdate then A数量 else 0 end +
case when B日期=@sdate then B数量 else 0 end +
case when C日期=@sdate then C数量 else 0 end
) as 总数
from 表名
祝你成功!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是想查找A数量+B数量=24的数据吗??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询