注册 登录
编程论坛 SQL Server论坛

[求助]VB查询中要将数据按月或者按年统计应如何表达?

lhf391855540 发布于 2006-10-20 21:39, 2106 次点击
VB查询中要将数据按月或者按年统计应如何表达?
比如按日期统计可以将数据按日期进行分组,用“group by 日期”即能实现,但按年或月应怎样编写程序呢?谢谢高手指点!
8 回复
#2
lhf3918555402006-10-20 22:24

可能我表达得不够清楚。
每一天中有很多条记录,要将每天的记录进行统计,可以按日期分组来实现,因为表中有“日期”这个字段。比如可以用下面的查询语句:

sql = "select 日期, sum(收入)... from ...表 group by 日期 order by ..."

但按月或年进行统计该怎么办呢?
诚望大虾们指点迷津。谢谢!

#3
lhf3918555402006-10-21 12:21
好消息!
按月或年进行统计的方法已经找到!
但还存在一个排序的问题——比如10、11、12月总是排在2月的前面,该怎么办呢?
谁能帮帮我?
#4
小水滴2006-10-21 19:53
select month(日期), sum(收入)... from ...表 group by month(日期) order by month(日期)

如果你的语句是这样的话,应该不会出现10、11、12月排在2月前面的问题
#5
lhf3918555402006-10-21 20:54

楼上的说得的确不错,但是,我希望在月份中标明年份,所以我用了下面的语句:

select (year(日期) & -month(日期))as 月份, sum(收入)... from ...表 group by (year(日期) & -month(日期)) order by (year(日期) & -month(日期))
能否将月份格式化为2位输出呢?
谢谢指教!

#6
lhf3918555402006-10-21 21:37

如果不将月份格式化为2位输出,只要能既标明年份,又能在月份的排序中不出错就行。
谁有这样的方法?请赐教

#7
小水滴2006-10-23 15:58
select datename(yy,日期)+'-'+datename(mm,日期) as 年月,sum(收入)..........


#8
lhf3918555402007-01-03 19:43
解决上面问题的方法已经找到
1