按天,直接取不就行啦select convert(char(10),LogAddtime,120),count(1) from ManViewLogs where convert(char(7),LogAddtime,120)='当前选中年-月' group by convert(char(10),LogAddtime,120),
select convert(char(10),LogAddtime,120),count(1) from ManViewLogs where convert(char(7),LogAddtime,120)='当前选中年-月' group by convert(char(10),LogAddtime,120)
ReViSion(和尚) select convert(char(10),LogAddtime,120),count(1) from ManViewLogs where convert(char(7),LogAddtime,120)='当前选中年-月' group by convert(char(10),LogAddtime,120) 这个是可以取到的 ,问题是表中没有的日期 我也想要 我只要该月从月初到月末的所有日期,不管表中有没有,不太清楚sql里怎么得到这个当月日期的记录集
declare @a table(天 datetime) declare @i int set @i=1 while @i<=day(dateadd(d,-1,convert(varchar(8),dateadd(mm,1,getdate()),120)+'01')) begin insert @a values(dateadd(d,0,convert(varchar(8),dateadd(mm,1,getdate()),120)+cast(@i as varchar(2)))) set @i=@i+1 end select * from @a 非动态,你继续用@a就可以了
先根据,年,月.来动态得到天数.比如2007年4月份的.可以用datadiff(day,'2007-04-01','2007-05-01')就可以得到天数,再用循环就可以 构造 你想要的日期集,其他的基本上,差不多
where convert(char(7),LogAddtime,120)='当前选中年-月'
group by convert(char(10),LogAddtime,120),
where convert(char(7),LogAddtime,120)='当前选中年-月'
group by convert(char(10),LogAddtime,120)
select convert(char(10),LogAddtime,120),count(1) from ManViewLogs
where convert(char(7),LogAddtime,120)='当前选中年-月'
group by convert(char(10),LogAddtime,120)
这个是可以取到的 ,问题是表中没有的日期 我也想要 我只要该月从月初到月末的所有日期,不管表中有没有,不太清楚sql里怎么得到这个当月日期的记录集
declare @i int
set @i=1
while @i<=day(dateadd(d,-1,convert(varchar(8),dateadd(mm,1,getdate()),120)+'01'))
begin
insert @a values(dateadd(d,0,convert(varchar(8),dateadd(mm,1,getdate()),120)+cast(@i as varchar(2))))
set @i=@i+1
end
select * from @a
非动态,你继续用@a就可以了