Delphi SQL 查询数据表中规定的时间段内按天统计出每天的记录数
发布日期:2021-05-04 20:44:46 浏览次数:9 分类:技术文章

本文共 905 字,大约阅读时间需要 3 分钟。

原帖:

因为百度搜索不到盒子内容,所以整理后发到这里,以帮助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:问题解决了,非常感谢楼上!

上一篇:Delphi 10.3 Web应用开发B/S框架介绍(一):uniGUI
下一篇:Delphi 10.3 变量初始化的时候同时赋值

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年03月15日 22时27分45秒