我一个表里有这样的数据
ID ADD_DATE
1 2006-4-1
2 2006-4-7
3 2007-5-3
4 2007-5-6
5 2007-6-3
6 2007-6-12
7 2007-8-9
8 2007-8-10
9 2007-8-12
.. ......我怎么按年月来统计数据呢?我想要的效果如下
时间 数目
2006-4 2
2007-5 2
2007-6 2
2007-8 3
. .
. .
.
ID ADD_DATE
1 2006-4-1
2 2006-4-7
3 2007-5-3
4 2007-5-6
5 2007-6-3
6 2007-6-12
7 2007-8-9
8 2007-8-10
9 2007-8-12
.. ......我怎么按年月来统计数据呢?我想要的效果如下
时间 数目
2006-4 2
2007-5 2
2007-6 2
2007-8 3
. .
. .
.
from 表
group by convert(varchar(7),Add_Date,120)
count(1) as '数目'
from 表
group by datename(yy,ADD_DATE)+'-'+datename(mm,ADD_DATE)
select convert(nvarchar(7), ADD_DATE,120),count(*)
from tbName
group by convert(nvarchar(7), ADD_DATE,120)
insert into tb values(1, '2006-4-1')
insert into tb values(2, '2006-4-7')
insert into tb values(3, '2007-5-3')
insert into tb values(4, '2007-5-6')
insert into tb values(5, '2007-6-3')
insert into tb values(6, '2007-6-12')
insert into tb values(7, '2007-8-9')
insert into tb values(8, '2007-8-10')
insert into tb values(9, '2007-8-12')
go
select convert(varchar(7),Add_Date,120) 时间 , count(*) 数目
from tb
group by convert(varchar(7),Add_Date,120)drop table tb/*
时间 数目
------- -----------
2006-04 2
2007-05 2
2007-06 2
2007-08 3(所影响的行数为 4 行)
*/
如
ID ADD_DATE
1 2006-4-1
1 2006-4-7
3 2007-5-3
4 2007-5-6
5 2007-6-3
5 2007-6-12
7 2007-8-9
1 2007-8-10
9 2007-8-12
---------------
ID 时间 数量
1 2006-4 2
1 2008-8 1
. . .
. . .
from blog_article
group by convert(varchar(7),Add_Date,120),id
------------------
明白了,是这样。。
谢谢各位大哥
count(distinct ID)