起因:为了按星期统计目的数据。
平台: delphi7.0+SqlServer2000
方法:目前采用datepart(wk,时间)来统计,
(select datepart(wk,时间),count(*) from TableName group by datepart(wk,时间).
但顺便想提取该星期数的起止时间,有什么方法?
平台: delphi7.0+SqlServer2000
方法:目前采用datepart(wk,时间)来统计,
(select datepart(wk,时间),count(*) from TableName group by datepart(wk,时间).
但顺便想提取该星期数的起止时间,有什么方法?
insert into @t(date1) select '2006-11-3'
union all select '2006-10-4'select date1,
date2=convert(varchar(10),dateadd(day,1,dateadd(wk,datepart(wk,date1)-1,cast(year(date1) as varchar))),120)+' '+convert(varchar(10),dateadd(wk,datepart(wk,date1),cast(year(date1) as varchar)),120)
from @t
--例子
select dateadd(day,datepart(wk,时间) * 7 - 6,cast(year(时间) as varchar)+'-01-01')
--结束时间
select dateadd(day,datepart(wk,时间) * 7,cast(year(时间) as varchar)+'-01-01')
select dateadd(day,datepart(wk,时间) * 7 - 6,cast(year(时间) as varchar)+'-01-01') as 开始时间,
select dateadd(day,datepart(wk,时间) * 7,cast(year(时间) as varchar)+'-01-01') as 结束时间
from TableName group by datepart(wk,时间)
count(*),
所在周=convert(varchar(10),dateadd(day,1,dateadd(wk,datepart(wk,时间)-1,cast(year(时间) as varchar))),120)+' '+convert(varchar(10),dateadd(wk,datepart(wk,时间),cast(year(时间) as varchar)),120)
from TableName
group by datepart(wk,时间).
列 'data.时间' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。"上面给的几个方法不加“group by”单独运行都行,但有group by就出现如上提示。看来一条语句不能完成上述要求?