首页 新闻 会员 周边

如何查询某用户近一个月内正确率大于60%的阅读记录,每天只显示符合条件正确率最高的那个

1
悬赏园豆:50 [已解决问题] 解决于 2010-11-25 10:21

表中字段: 

RD_User, RD_OrginalArticle, RD_RightWords, RD_DictationArticle,
 RD_LastReadIndex, RD_Speed, RD_ReadTime, RD_DictationTime, RD_SumTime,
RD_PrecisionRate, RD_TestTime  分别对应用户名,阅读文章,正确答案,默写答案,上次阅读的位置,阅读速度,阅读时间,默写时间,总时间,默写正确率,测试时间
查询用户最近一个月内的正确率大于60%的阅读记录,每天只显示符合条件的速度最高的那个(每个用户一天内可能有多条数据,也可能一条数据也没有)

泪的诺言lni的主页 泪的诺言lni | 初学一级 | 园豆:105
提问于:2010-11-10 09:27
< >
分享
最佳答案
0

select * from
(select distinct convert(varchar(10),RD_ReadTime,112) RD_ReadTime from [tablename]) a
cross apply  (select top 1 * from [tablename]
where  a.RD_ReadTime=convert(varchar(10),RD_ReadTime,112)
  and left(convert(varchar(10),RD_ReadTime,112),6)=left(convert(varchar(10),getdate(),112),6)
  and RD_User=[你想要的用户名] --也可不要这个条件则不限用户
  and RD_PrecisionRate>[你想要的正确率] --如大于%60
 order by RD_Speed desc --降序取每天速度最高 相反升序则取每天速度最低的
) b

 

如有疑问及时提出

收获园豆:50
追索 | 小虾三级 |园豆:625 | 2010-11-10 15:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册