原帖:http://bbs.2ccc.com/topic.asp?topicid=559788
因为百度搜索不到盒子内容,所以整理后发到这里,以帮助Delphi程序员:
Q:我sql比较差,琢磨了很久也没写出语句来,请大家帮助一下
有一张表,表里记录了一些数据,我要在规定的时间段内按天统计出每天的记录数和金额合计
表里面有
“发货时间”:日期类型
“金额”:浮点类型
预期的查询结果是这样的:
发货时间 发货数 合计
2019-01-01 5 2000.00
2019-01-02 4 1600.00
2019-01-03 6 2500.00
.....
请大家帮忙,谢谢!
A:select 发货时间,发货数=sum(isnull(发货数,0)),合计=sum(isnull(合计,0))
from 表
group by 发货时间
Q:楼上你好,我按你的代码改了一下
select 发货时间,count(*) as 发货数,sum(应收金额) as 合计
from 订单信息表
group by 发货时间
但是显示的是这样的
2019-01-14 15:30:22 1 1000.00
2019-01-15 09:08:19 1 1853.00
2019-01-15 09:08:26 1 1852.00
2019-01-16 09:09:38 1 1889.00
2019-01-17 09:05:58 1 1200.00
2019-01-17 09:09:44 1 980.00
2019-01-17 09:09:49 1 1500.00
相同日期的没有合并
A:select date(发货时间) as 时间,发货数=sum(isnull(发货数,0)),合计=sum(isnull(合计,0))
from 表
group by date(发货时间)
Date函数具体看后台数据库
因为你的发货时间这个字段是datetime类型,2019-01-17 09:05:58和2019-01-17 09:09:49在group的时候,会认为是两个不同的值,所以要先将发货时间先转成Date,2019-01-17 和2019-01-17在group就会合并在一起了
Q:问题解决了,非常感谢楼上!