初学者!请教按日统计 客户分组 价格总和 均价!

gl542400 2012-06-20 11:26:44
有 表一 数据基本如下 客户为不定的不止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 客户
就是不如何按日统计 客户分组 价格总和 均价!

先谢谢能帮助我的人!
...全文
149 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tosp2012 2012-06-21
  • 打赏
  • 举报
回复
已有答案,飄過。
gl542400 2012-06-21
  • 打赏
  • 举报
回复
谢谢1 2楼! 二楼的 上网找了下CONVERT(data_type(length),data_to_be_converted,style)data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。

再次谢谢! jyh070207 OrchidCat



Mr_Nice 2012-06-21
  • 打赏
  • 举报
回复
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
jyh070207 2012-06-21
  • 打赏
  • 举报
回复
将日期加到select及group中

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

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧