asp程序查找数据库时间字段筛选重复日期,保留第一条

来源:百度知道 编辑:UC知道 时间:2024/07/02 14:31:01
表名: blog_Comment(用户评论)
字段:comm_Author(用户名)、comm_PostTime (发表时间)

有很多会员, 每个会员每天都会发表一条或几条评论,也可能一条没有发表,我想计算从建站开始,某一个会员,一共发表了多少条评论, 一天发表超过1条按1条计算。
比如 2009.06.6 21:21:20 和 2009.06.21 19:11:10
忽略时、分、秒,把这两个日期记录判断成重复的,只算1条。

比如,用户123,在
2009-6-3 12:15:23
2009-6-3 18:25:16
2009-6-3 19:14:21
2009-6-4 11:50:07
2009-6-5 12:15:23
2009-6-5 18:25:16
2009-6-6 19:14:21
2009-6-6 11:50:07
发表了8条评论,我想要查询的结果,返回数字为:
4
我这样写的:
SELECT COUNT(*) as pshu FROM blog_Comment Where comm_Author='123'
测试可以得到的数字为:
8

如果想要得到
4
必须,筛选comm_PostTime 里日期相同的数据,只筛选年月日,忽略时分秒

我想了几个办法,但是我不知道怎么实现
1.用and datediff('d',本条发表时间记录,'向下一条发表时间记录')<>0
如果和下一条记录的日期相同则忽略。
2.in (select * from * group by * having count(*) > 1)过滤掉重复2次以上的记录

3.或者是用distinct排除不知道行不行。
2009.06.21 21:21:20 和 2009.06.21 19:11:10
日期相同,时间不同,我不知道怎么进行比较才能算作重复;
请高手帮忙。

你只是想筛选掉相同日期的数据,这个我用了临时表 #temp,你拿去改改
1,select distinct(datename(yy,time_create)+datename(mm,time_create)+datename(dd,time_create)) as date into #temp from powergroup
2,select count(*) from #temp
3,drop table #temp

添加日期的时候只添加年月日不就好了