table( UserName ,VisitTime )
UserName VisitTime
A1 2005-01-15
B1 2005-01-20
A1 2005-02-04
A1 2005-02-05
B1 2005-01-02
我想得到这样的查询结果
1。从最小的日期开始算第一天,30天算一个月
月数 UserName 访问次数
一月 A1 20
一月 B1 25
二月 A1 23
二月 B1 21
2。从最小日期开始,按正常月份算, 如A1的一月份就只有15天。。,查询结果如上
UserName VisitTime
A1 2005-01-15
B1 2005-01-20
A1 2005-02-04
A1 2005-02-05
B1 2005-01-02
我想得到这样的查询结果
1。从最小的日期开始算第一天,30天算一个月
月数 UserName 访问次数
一月 A1 20
一月 B1 25
二月 A1 23
二月 B1 21
2。从最小日期开始,按正常月份算, 如A1的一月份就只有15天。。,查询结果如上
table( UserName ,VisitTime )
用户访问的记录如下
UserName VisitTime
A1 2005-01-15
B1 2005-01-20
A1 2005-02-04
A1 2005-02-05
B1 2005-01-02
我想得到这样的查询结果
1。从最小的日期开始算第一天,30天算一个月
月数 UserName 访问次数
一月 A1 20 也就是说从2005-01-15 到本2005-02-14(加30天)
一月 B1 25
二月 A1 23
二月 B1 21
2。从最小日期开始,按正常月份算, 如A1的一月份就只有15天。。,查询结果如上 月数 UserName 访问次数
一月 A1 20 也就是说从2005-01-15 到本2005-01-31
一月 B1 25
二月 A1 23 也就是说从2005-02-01到本2005-02-30 二月 B1 21
如果是的话,麻烦把查询要求和得到的结果写得规范点,容易弄得别人看不懂
那你的第一个例子是不是
一月 a1 3
一月 b2 2
有这样一个表包括两个字段UserName,VisitTime
table( UserName ,VisitTime )
用户访问的记录如下
UserName VisitTime
A1 2005-01-15
A1 2005-02-04
A1 2005-02-05
B1 2005-01-02
B1 2005-01-20
我想得到这样的查询结果
1。从最小的日期开始算第一天,30天算一个月
月数 UserName 访问次数
一月 A1 3 也就是说从2005-01-15 到本2005-02-14(加30天)
一月 B1 2
二月 A1 0
二月 B1 0
2。从最小日期开始,按正常月份算, 如A1的一月份就只有15天。。,查询结果如上 月数 UserName 访问次数
一月 A1 1 也就是说从2005-01-15 到本2005-01-31
一月 B1 2
二月 A1 2 也就是说从2005-02-01到本2005-02-30 二月 B1 0
UserName VisitTime
A1 2005-01-15
B1 2005-01-20
A1 2005-02-04
A1 2005-02-05
B1 2005-01-02
我想得到这样的查询结果
1。从最小的日期开始算第一天,30天算一个月
月数 UserName 访问次数
一月 A1 20
一月 B1 25
二月 A1 23
二月 B1 21
select convert(char(7),VisitTime,120) 月份
,UserName,count(*) '访问次数' from [table]
group by convert(char(7),VisitTime,120),UserName2。从最小日期开始,按正常月份算, 如A1的一月份就只有15天。。,查询结果如上
---有点不太明白