Select 查询问题

kyle2cj 2009-03-27 04:24:16
Month fee
20090112 10
20090123 20
20090203 15
20090227 16
20090301 11

怎么样写查询语句得到:按Month对Fee求和

Month fee
200901 30
200902 31
200903 11
...全文
61 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kyle2cj 2009-03-27
  • 打赏
  • 举报
回复
没怎么写过查询,这么简单,也没想到,,,谢谢各位
结贴,给分
htl258_Tony 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 kyle2cj 的帖子:]
Month fee
20090112 10
20090123 20
20090203 15
20090227 16
20090301 11

怎么样写查询语句得到:按Month对Fee求和

Month fee
200901 30
200902 31
200903 11
[/Quote]
create table tb([Month] datetime, fee int)
insert into tb values('20090112' , 10 )
insert into tb values('20090123' , 20 )
insert into tb values('20090203' , 15 )
insert into tb values('20090227' , 16 )
insert into tb values('20090301' , 11 )
go

select convert(varchar(6),[month],112) [Month],sum(fee) fee
from tb
group by convert(varchar(6),[month],112)
order by [Month]

drop table tb

Month fee
------ -----------
200901 30
200902 31
200903 11

(3 行受影响)
dawugui 2009-03-27
  • 打赏
  • 举报
回复
--如果month为datetime型.

create table tb([Month] datetime, fee int)
insert into tb values('20090112' , 10 )
insert into tb values('20090123' , 20 )
insert into tb values('20090203' , 15 )
insert into tb values('20090227' , 16 )
insert into tb values('20090301' , 11 )
go

select convert(varchar(6),[month],112) [month], sum(fee) fee from tb group by convert(varchar(6),[month],112)

drop table tb

/*
month fee
---------- -----------
200901 30
200902 31
200903 11

(所影响的行数为 3 行)

*/
nj_1st_excellence 2009-03-27
  • 打赏
  • 举报
回复
select substring(Month,1,6) Month, sum(fee) fee from tb group by substring(Month,1,6)
dawugui 2009-03-27
  • 打赏
  • 举报
回复
create table tb([Month] varchar(10), fee int)
insert into tb values('20090112' , 10 )
insert into tb values('20090123' , 20 )
insert into tb values('20090203' , 15 )
insert into tb values('20090227' , 16 )
insert into tb values('20090301' , 11 )
go

select left([month],6) [month] , sum(fee) fee from tb group by left([month],6)

drop table tb

/*
month fee
---------- -----------
200901 30
200902 31
200903 11

(所影响的行数为 3 行)

*/
jia_guijun 2009-03-27
  • 打赏
  • 举报
回复
select left(month,6) as Month,sum(fee) as fee from tb group by left(month,6)
dawugui 2009-03-27
  • 打赏
  • 举报
回复
select left([month],6) [month] , sum(fee) fee from tb group by left([month],6)
csdyyr 2009-03-27
  • 打赏
  • 举报
回复
DECLARE @TB TABLE(Month VARCHAR(8),          fee INT)
INSERT @TB
SELECT '20090112', 10 UNION ALL
SELECT '20090123', 20 UNION ALL
SELECT '20090203', 15 UNION ALL
SELECT '20090227', 16 UNION ALL
SELECT '20090301', 11


SELECT LEFT(MONTH,6) AS [MONTH],SUM(FEE) AS FEE
FROM @TB
GROUP BY LEFT(MONTH,6)
/*
MONTH FEE
-------- -----------
200901 30
200902 31
200903 11
*/

34,590

社区成员

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

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