按每月最后一天进行汇总统计 sql怎么写

wyq29 2010-07-19 12:20:31
有一个表T
id customID(客户编号) 日期 理论欠款 余额

存储的是所有客户每天的理论欠款和余额 (这两个数是实时变化的 每天进行保存)

要求列表出每个月份的所有客户实际欠款 (实际欠款=理论欠款-余额)

比如

统计月份 实际欠款
2010-2月 10000
2010-03 12000
2010-04 8000

每月的欠款应该是 每月最后一天的欠款总和

现在 前台输入两个月份 比如 2010-2 到2010-4 月

统计出上面列表 怎么写 sql? 每月实际统计最后一天的总和

...全文
249 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xnnfan 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xys_777 的回复:]
select convert(varchar(10),日期,120) 日期,sum(理论欠款), sum(余额)
from tb group by convert(varchar(10),日期,120)
[/Quote]

这个方法应该可以的。
天-笑 2010-07-19
  • 打赏
  • 举报
回复
你这个问题给你个思路,代码我就不写了
这个问题有两个解决方法:
一:做子查询:(笨办法)
将指定月份的客户,对应的最大日期求出来,再内连你原来的表 取出每个客户最大日期对应的那条数据后求欠款

二:一个查询搞定(效率稍高)
将指定月份的数据 按客户分组 求最大的 时间对应的数据(把时间+理论欠款+余额 按规律组合成固定长字符串 并求出这个字符串,时间一定要放第一),再按规律用截字符串的方法 求对应值
永生天地 2010-07-19
  • 打赏
  • 举报
回复
select convert(varchar(10),日期,120) 日期,sum(理论欠款), sum(余额)
from tb group by convert(varchar(10),日期,120)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧