这个查询语句应该怎么写(在线等)

black205 2009-06-05 03:01:41
表:
  EndTime Amount
2009-06-01 12:00 2
2009-06-01 13:00 1
2009-06-02 12:00 3
2009-06-02 15:00 2
2009-06-03 12:00 4
2009-06-03 18:00 8
2009-06-05 12:00 3
    .      
    .
需要写个SQL语句实现统计这个月的情况显示如下:
   lTime Amount
2009-06-01 3
2009-06-02 5
2009-06-03 12
2009-06-05 3
请大侠帮帮忙,谢谢!!!
...全文
15 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
olddown 2009-06-05
  • 打赏
  • 举报
回复
楼主不地道
stromboy007 2009-06-05
  • 打赏
  • 举报
回复
--■取每天记录:
declare @i int,@dt datetime
select @dt=convert(char(8),min(CallTime),120)+'1'
,@i=datediff(day,@dt,convert(char(8),dateadd(month,1,max(CallTime)),120)+'1')
from table1
where name='a'

if @@rowcount=0 return
set rowcount @i
select id=identity(int,0,1) into #t from syscolumns a,syscolumns b
set rowcount 0

select SumCount=isnull(a.SumCount,0),day=convert(varchar(10),@dt+b.id,120)
from(
select Sum(CallCount) SumCount,convert(varchar(10),CallTime,120) day
from table1
where name='a'
group by convert(varchar(10),CallTime,120)
)a right join #t b on datediff(day,@dt,a.day)=b.id
order by b.id
drop table #t
go

drop table TABLE1
black205 2009-06-05
  • 打赏
  • 举报
回复
十分感谢楼上的两位
zc_0101 2009-06-05
  • 打赏
  • 举报
回复
select CONVERT(varchar(100), EndTime, 23) as lTime,sum(Amount) as Amount from table_name group by CONVERT(varchar(100), EndTime, 23)
olddown 2009-06-05
  • 打赏
  • 举报
回复
和大牛们比起来还是慢了啊
nzperfect 2009-06-05
  • 打赏
  • 举报
回复
--> 测试数据: #T
if object_id('tempdb.dbo.#T') is not null drop table #T
go
create table #T (EndTime datetime,Amount int)
insert into #T
select '2009-06-01 12:00',2 union all
select '2009-06-01 13:00',1 union all
select '2009-06-02 12:00',3 union all
select '2009-06-02 15:00',2 union all
select '2009-06-03 12:00',4 union all
select '2009-06-03 18:00',8 union all
select '2009-06-05 12:00',3

select CONVERT(varchar(10),EndTime,120) as EndTime,SUM(Amount) as Amount from #T
group by CONVERT(varchar(10),EndTime,120)

/*
2009-06-01 3
2009-06-02 5
2009-06-03 12
2009-06-05 3
*/
olddown 2009-06-05
  • 打赏
  • 举报
回复

select convert(varchar(10), EndTime,20) as ITime,sum(Amount) as Amount from 表 group by convert(varchar(10), EndTime,20)

水族杰纶 2009-06-05
  • 打赏
  • 举报
回复
DECLARE @T TABLE(EndTime DATETIME,  Amount INT) 
INSERT @T SELECT ' 2009-06-01 12:00' , 2
INSERT @T SELECT ' 2009-06-01 13:00' , 1
INSERT @T SELECT ' 2009-06-02 12:00' , 3
INSERT @T SELECT ' 2009-06-02 15:00' , 2
INSERT @T SELECT ' 2009-06-03 12:00' , 4
INSERT @T SELECT ' 2009-06-03 18:00' , 8
INSERT @T SELECT ' 2009-06-05 12:00', 3
SELECT CONVERT(VARCHAR(10),ENDTIME,120)EndTime,SUM(AMOUNT)AMOUNT FROM @T GROUP BY CONVERT(VARCHAR(10),ENDTIME,120)
/*EndTime AMOUNT
---------- -----------
2009-06-01 3
2009-06-02 5
2009-06-03 12
2009-06-05 3*/
stromboy007 2009-06-05
  • 打赏
  • 举报
回复
呵呵 不是月吧 是每天的Amount總和咯
--小F-- 2009-06-05
  • 打赏
  • 举报
回复
SELECT CONVEERT(VARCHAR(10),ITIME,120) AS ITIME,SUM(AMOUNT) AS AMOUNT FROM T GROUP BY CONVEERT(VARCHAR(10),ITIME,120)
JonasFeng 2009-06-05
  • 打赏
  • 举报
回复
字段错了,改下。
SELECT CONVEERT(VARCHAR(10),EndTime,120) AS ITIME,
SUM(AMOUNT) AS AMOUNT
FROM LI
GROUP BY CONVEERT(VARCHAR(10),EndTime,120)


JonasFeng 2009-06-05
  • 打赏
  • 举报
回复
SELECT CONVEERT(VARCHAR(10),ITIME,120) AS ITIME,
SUM(AMOUNT) AS AMOUNT
FROM LI
GROUP BY CONVEERT(VARCHAR(10),ITIME,120)
水族杰纶 2009-06-05
  • 打赏
  • 举报
回复
SELECT CONVERT(VARCHAR(10),ENDTIME,120),SUM(AMOUNT)AMOUNT FROM TB GROUP BY CONVERT(VARCHAR(10)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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