如何做分类统计的报表???(200分)

  • 主题发起人 主题发起人 mengh
  • 开始时间 开始时间
M

mengh

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个表,想对其做分类统计,生成报表,不知道该如何操作
帐号 开始时间 结束时间 类型 费用
0001 2002-6-24 15:14:49 2002-6-24 21:14:49 上机 3
0002 2002-6-25 14:14:49 2002-6-25 16:14:49 光盘 2
0001 2002-6-25 14:14:49 2002-6-25 16:14:49 上机 2
0003 2002-6-25 14:14:49 2002-6-25 16:14:49 打印 2
0002 2002-6-26 14:14:49 2002-6-26 16:14:49 光盘 2
.............

我想生成如下的报表(QuickRep)
日期 上机人次 上机收入 其他人次 其他收入 小记
2002-6-24 1 3 0 0 3
2002-6-25 1 2 2 4 6
.......

我该如何做呢?

 
select begin
time,endtime
(case when 类型='上机’ then
count(*)else
0 end) as 上机人次 ,
(case when 类型='上机’ then
sum(费用) else
0 end)as 上机收入,
(case when 类型='上机’ then
0 else
count(*) end) as 其他人次,
(case when 类型='上机’ then
0 else
sum(费用) end)as 其他收入,
sum(费用)
from tablename
group by begin
time,endtime
 
谢谢ugvanxk!
好象不能group by begin
time,endtime,因为只需要日期,不需要时间。
另外,在报表中该怎么做呢?
sorry,我真的很弱... ^_^
 
day(begin
time)
这个指向datasouce,就可以连接quickrep
 
我在query.sql中写入如下语句,可是通不过啊!老说什么type没有包含在group by语句
里什么的,另外day(start_time)取出的是日子,如2002-6-24 15:14:49,就成了24,要是想
要2002-6-24,该怎么办?谢谢!
select day(start_time),
(case when type='上机' then
count(*)else
0 end) as 上机人次,
(case when type='上机' then
sum(fee) else
0 end) as 上机收入,
(case when type='上机' then
0 else
count(*) end) as 其他人次,
(case when type='上机' then
0 else
sum(fee) end) as 其他收入,
sum(fee)
from eroom_check_flow
group by day(start_time)
 
select CONVERT(char(10), sj, 120) as 日期,
sum(case when type='上机' then
1 else
0 end) as 上机人次,
sum(case when type='上机' then
fee else
0 end) as 上机收入,
sum(case when type='上机' then
0 else
1 end) as 其他人次,
sum(case when type='上机' then
0 else
fee end) as 其他收入,
sum(fee) as 小计
from eroom_check_flow
group by CONVERT(char(10), sj, 120)
这样就不会有“type”的麻烦了!另外
 
谢谢dlnew, 就是这样,已经解决了,非常感谢!还要谢谢ugvanxk!
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部