求个SQL语句写法

chengtao999 2016-04-24 07:25:33

有一个表

ID AMOUNT NAME CODE DATA
1 100 a a12 2016.3.5
1 100 b b12 2016.3.5
1 100 c c12 2016.3.5
1 100 d d34 2016.3.5
1 100 e e56 2016.2.5
1 100 f f56 2016.3.5


CODE 编码规则 第2,3位是材质属性,求得某个月份内以CODE2,3位为group,即所有相同材质的AMOUNT之和

想得到结果
SUM CODE_23 DATA
300 12 2016.3
100 34 2016.3
100 56 2016.3
...全文
90 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengtao999 2016-04-25
  • 打赏
  • 举报
回复
引用 2 楼 Ekun_sky 的回复:
with a(ID,AMOUNT,NAME,CODE,DATA) as(
select 1,100,'a','a12',cast('2016.3.5' as DATE) union all
select 1,100,'b','b12','2016.3.5' union all
select 1,100,'c','c12','2016.3.5' union all
select 1,100,'d','d34','2016.3.5' union all
select 1,100,'e','e56','2016.2.5' union all
select 1,100,'f','f56','2016.3.5')



select sum(AMOUNT) as sum ,SUBSTRING(code,2,2) as CODE_23,CONVERT(varchar(7),data,120) as data
 from a where CONVERT(varchar(7),data,120)='2016-03' 
group by SUBSTRING(code,2,2),CONVERT(varchar(7),data,120)

/*
sum  CODE_23 data
--------------------
300	12	2016-03
100	34	2016-03
100	56	2016-03
--------------------
*/
完美
Ekun_sky 2016-04-24
  • 打赏
  • 举报
回复
with a(ID,AMOUNT,NAME,CODE,DATA) as(
select 1,100,'a','a12',cast('2016.3.5' as DATE) union all
select 1,100,'b','b12','2016.3.5' union all
select 1,100,'c','c12','2016.3.5' union all
select 1,100,'d','d34','2016.3.5' union all
select 1,100,'e','e56','2016.2.5' union all
select 1,100,'f','f56','2016.3.5')



select sum(AMOUNT) as sum ,SUBSTRING(code,2,2) as CODE_23,CONVERT(varchar(7),data,120) as data
 from a where CONVERT(varchar(7),data,120)='2016-03' 
group by SUBSTRING(code,2,2),CONVERT(varchar(7),data,120)

/*
sum  CODE_23 data
--------------------
300	12	2016-03
100	34	2016-03
100	56	2016-03
--------------------
*/
中国风 2016-04-24
  • 打赏
  • 举报
回复
select sum(AMOUNT) as [SUM],CONVERT(varchar(7),Date,120) as DATA,right(CODE,2) as CODE_23 from table1 group by CONVERT(varchar(7),Date,120),right(CODE,2)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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