select Inspect_name,office,IPfrom,
检查次数=sum(case when 数量>120 then 1 else 0 end),
A=sum(case when A>120 then 1 else 0 end),
B=sum(case when B>120 then 1 else 0 end),
双休日=sum(case when A>120 then 1 else 0 end),
总分=sum(case when 双休日>120 then 1 else 0 end)*1 +sum(case when A>120 then 1 else 0 end)*2 +sum(case when B>120 then 1 else 0 end)*1
from (select Inspect_name,office,IPfrom,convert(varchar(10),intime,120) as intime,sum(vtime) as 数量,
sum(case when rank= 'A' then vtime else 0 end) A,
sum(case when rank = 'B' then vtime else 0 end) B,
sum(case when datepart(dw,intime) = '1' or datepart(dw,intime) = '7' then vtime else 0 end) 双休日
from jcxs group by Inspect_name,office,IPfrom,convert(varchar(10),intime,120) )t group by Inspect_name,office,IPfrom order by 总分 desc
上面的sql可以查询我想要的信息,只是现在我想要个排名,就是“总分”排名,比如如果出现
张 20分 1
王 19分 2
李 19分 2
孙 17分 3
类似这样的排名
SQL code:
----------------------------------------------------------------
-- Author :SQL77(只为思齐老)
-- Date :2010-01-14 08:22:28
-- Version:
-- Microsoft SQL Server 2000
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......