表示ms-sql2000上包含以下列和数字的表:
S_idJ_id Se_id B_id Status Count multiply
63 1000 16 12 1 10 2
64 1001 12 16 1 9 3
65 1002 17 12 1 10 2
66 1003 16 12 1 6 3
67 1004 12 16 1 10 2
我想生成一个经典的asp脚本,它将为每一行执行以下操作 status = 1:
-multiply - > answer =将列''count'与'multiply'列相乘
然后:
计算每个se_id的总答案和总和,如:
se_id total
12 47
16 38
17 20
并在屏幕上显示
Rank se_id total
1 12 47
2 16 38
3 17 20
条件:
如果有多个相等的总值,则为较低编号的se_id
赋予优先权
获得排名并给出下一个更高编号se_id
排名
欢迎使用经典asp或建议中的任何示例代码来了解如何完成此任务
答案 0 :(得分:0)
'得分'=来源表。
if (EXISTS (select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'result_table'))
begin
drop table result_table;
end
select
rank = IDENTITY(INT,1,1),
se_id, sum(multiply * count) as total
into result_table
from score
where status = 1
group by se_id
order by total desc, se_id;
[编辑]将查询更改为第一条评论的答案