日期:2014-05-18  浏览次数:20546 次

初学者!请教按日统计 客户分组 价格总和 均价!
有 表一 数据基本如下 客户为不定的不止3个

价格 均价 客户 日期
20 2 b 2012/1/1
10 4 b 2012/1/1
5 1 c 2012/1/1  
30 3 a 2012/1/2  
10 1 a 2012/1/2
10 1 c 2012/1/3
15 1 a 2012/1/3
20 1 a 2012/1/3


想按日统计 客户 价格总和 均价
2012/1/1 b 30 3
2012/1/1 c 5 1
2012/1/2 a 40 2
2012/1/3 a 35 1
2012/1/3 c 10 1

我是初学者!
只会按客户分组 指定日期 〉 < = 两者之间 
select 客户,sum(价格),avg(均价) from 表一 where 日期>#2012-x-x# group by 客户
就是不如何按日统计 客户分组 价格总和 均价!

先谢谢能帮助我的人!

------解决方案--------------------
将日期加到select及group中
SQL code

select 客户,日期,sum(价格),avg(均价) 
from 表一 
where 日期>'2012-01-01'
 group by 客户,日期

------解决方案--------------------
SQL code
if object_id('[TB]') is not null drop table [TB]
go
create table [TB] (价格 int,均价 int,客户 nvarchar(2),日期 datetime)
insert into [TB]
select 20,2,'b','2012/1/1' union all
select 10,4,'b','2012/1/1' union all
select 5,1,'c','2012/1/1' union all
select 30,3,'a','2012/1/2' union all
select 10,1,'a','2012/1/2' union all
select 10,1,'c','2012/1/3' union all
select 15,1,'a','2012/1/3' union all
select 20,1,'a','2012/1/3'

select * from [TB]


SELECT CONVERT(VARCHAR(10),日期,120) AS 日期,客户,SUM(价格) AS 价格,AVG(均价) AS 均价
FROM dbo.tb
GROUP BY CONVERT(VARCHAR(10),日期,120),客户
ORDER BY 日期,客户


/*
日期    客户    价格    均价
2012-01-01    b    30    3
2012-01-01    c    5    1
2012-01-02    a    40    2
2012-01-03    a    35    1
2012-01-03    c    10    1