Delphi SQL 查询数据表中规定的时间段内按天统计出每天的记录数

原帖: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:问题解决了,非常感谢楼上!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值