sql语句求高手怎么才能显示本周和上周的排名数据,代码怎么加啊

<DIVid=box><DIVclass=clear></DIV><DIVid=contenter><DIVclass=block><DIVclass=block_top... <DIV id=box>
<DIV class=clear></DIV>
<DIV id=contenter>
<DIV class=block>
<DIV class=block_top>任务发布排行榜</DIV>
<DIV class=block_contenter>
<DIV class=grid_box>
<UL id=ax1>
<%
Sql = "select top 10 username,count(*) as jieducm_num from "&jieducm&"_zhongxin group by username order by jieducm_num desc"
Set rs = Server.CreateObject("Adodb.RecordSet")
rs.Open Sql,conn,1,1
IF not rs.Eof Then
Do While Not rs.Eof
%>
<LI><SPAN><%=rs("username")%></SPAN>次数:<%=rs("jieducm_num")%> </LI>
<%
rs.MoveNext
Loop
End IF
%>

</UL>
</DIV>
展开
 我来答
百度网友66a8d48e5
2012-04-26 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3911万
展开全部
只会分组不过滤过条件的孩子你伤不起!

group by是一个子句,实际还有一个条件就是我们常称的滤过条件,也就是什么条件下的允许分组。如果是分组依据的,则必须使用having,也就是说having是滤过条件,很多书上告诉你having子句类似于where但必须在group by的后面,其实这些说法都是错误的,你可能记不住,你要记的是group by是分组子句,子句中还有一个分组条件,也就是所谓的having。这样你容易知道group by时是否使用having滤过条件。

另外一些书上告诉你,having与where通用,可以将having条件写到where中,其实不这根本不对,但大部分的时间两者是通用,但工作原理完全不同!引起的效率也是不同的。只能说一点,两者如果不考虑效率的问题时大部分通用,但考虑效率时两者根本不可能通用。而有些时间having根本不可能用到where条件中。

而这时就是对日期进行一次判断而已,也就是所谓的通用,你可以试一下having与where条件结果是等效的,但效率你也也可以测试一下是不等效!

其实加一个条件,将时间放在本周内即可!可以使用where 或having,都测试一下吧!

另外需要注意的是,top 10并不一定能保证10条记录!这个语句可能会造成你UI布局上有些困难!这种情况的来源就是如果说第10条件记录与第11条记录的排序条件相等时,结果有点问题的!不信的话可以做测试,所以要么你对UI设计上有沟通,要么必须限制在10条,那么,考虑这种情况后加一个第二排序条件即可解决。
滑蛋丶牛肉
2012-04-25 · TA获得超过439个赞
知道小有建树答主
回答量:294
采纳率:0%
帮助的人:251万
展开全部
这个还是数据库的问题,根据周数来group by就可以了吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式