sql中sum的烦恼

strugglesun 2010-10-09 02:48:18
现在有张表student
select * from student
Name Age Birthday
李 12 2010-09-10 09:42:37.000
李 21 2010-09-15 10:42:37.000
李 25 2010-09-01 12:43:37.000


我现在用sum把Age字段相加起来,只显示一条结果:
Name Age Birthday
李 58 2010-09

这个sql语句应该怎么写啊?
...全文
66 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
strugglesun 2010-10-09
  • 打赏
  • 举报
回复
大家都是高手啊,结贴,给分
王向飞 2010-10-09
  • 打赏
  • 举报
回复

--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:student
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'student')
AND type in (N'U'))
DROP TABLE student
GO

---->建表
create table student([Name] varchar(2),[Age] int,[Birthday] datetime)
insert student
select '李',12,'2010-09-10 09:42:37.000' union all
select '李',21,'2010-09-15 10:42:37.000' union all
select '李',25,'2010-09-01 12:43:37.000'
GO



--> 查询结果
SELECT * FROM student


select Name,SUM(Age) as Age ,CONVERT(char(7),Birthday,120)as Birthday from student
group by Name,CONVERT(char(7),Birthday,120)
--> 删除表格
--DROP TABLE student

水族杰纶 2010-10-09
  • 打赏
  • 举报
回复
select [name],
sum(age),
convert(varchar(7),Birthday,120)
from student
group by [name],convert(varchar(7),Birthday,120)
SQL2088 2010-10-09
  • 打赏
  • 举报
回复
--> 测试数据: #tb
if object_id('tempdb.dbo.#tb') is not null drop table #tb
go
create table #tb (Name varchar(2),Age int,Birthday datetime)
insert into #tb
select '李',12,'2010-09-10 09:42:37.000' union all
select '李',21,'2010-09-15 10:42:37.000' union all
select '李',25,'2010-09-01 12:43:37.000'

select name,age=sum(age),Birthday =convert(varchar(7),Birthday ,120)
from #tb
group by name,convert(varchar(7),Birthday ,120)

name age Birthday
---- ----------- --------
李 58 2010-09

(1 行受影响)
billpu 2010-10-09
  • 打赏
  • 举报
回复
这个生日还会变的呀...

22,300

社区成员

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

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