SQL语句,如何从每天每个用户的重复同类数据中,取出一个数据

我有一个表A,其中有USERNAME、FORMNAME、TIMESTR这几个字段
formname中有工作日报,工作周报,请假单等内容
我要从这个表中统计出
2011年10月份每个人提交的工作日报数量,
要排除每个人每天写2篇甚至更多篇(每天多于一篇的只计算一篇,没有写的计算为0依然要统计出来)充数的可能性,同时我只统计工作日报
这个语句应该怎么写的
先谢谢各位大侠

第1个回答  2011-11-07
你好,我理解的是,查询每个用户提交的工作日报的数量,在整个十月份,你看是不是这样

select count(FORMNAME) from A where FORMNAME='工作日报' and TIMESTR between '2011-10-01' and '2011-10-31' group by USERNAME追问

你好,是你理解这意思 。只不过用你这个语句来的话,如果有人同一天交了三份日报的话统计出来的那天的结果就是3不会是1了。。

第2个回答  2011-11-07
select [username], count(distinct day([timestr]))
from [A]
where [formname] = '工作日报'
and [timestr] between '2011-10-01' and '2011-10-31 23:59:59'
group by [username]本回答被提问者采纳
第3个回答  2011-11-07
说的这么乱啊.
问题没看明白!
相似回答