1. sql 语句 并列排名的问题
无论sqlserver 还是 oracle
用
rank() 或者 dens_rank() 函数。
select name,score,rank() over(order by score) tt from t;
如果有并列的话 . 他们后边的排序会变成这样的。 根据你的需求选用。
1
2
2
4
select name,score, dens_rank() over(order by score) tt from t;
1
2
2
3
感觉你用地2个,, dense_rank() 然后设置。 让 虚拟的这个排序列tt<=5
2. SQL排名问题
看滚逗上去大困卖没有错哦
建议把别名都写上,尺返然后再试试
update test3_01
set 排名 =
(select count(b.*)+1 from test3_01 as b
where b.总成绩> a.总成绩)
from test3_01 as a
3. 按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句
按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句示例如下:
selectA.name ,
(selectB.scorefromtable_scoreBwhereB.type='数学'andA.id=B.id) as数学 ,
(selectB.scorefromtable_scoreBwhereB.type='语文'andA.id=B.id) as语文,
(selectB.scorefromtable_scoreBwhereB.type='英语'andA.id=B.id)as英语,
(selectSUM(B.score)fromtable_scoreBwhereA.id=B.id)assum_score
fromtable_studentAorderbysum_scoreDESC
以上sql语句首先把学生表和成绩表联合查出每个学生的数学、语文、英语成绩,然后通过selectSUM(B.score)fromtable_scoreBwhereA.id=B.id查出每个学生的总成绩。
最后orderbysum_scoreDESC实现按总成绩倒叙排列。
(3)sql排名问题扩展阅读
上述sql语句重点是对as关键字的使用- Alias(别名),通过使用 SQL,可以为列名称和表名称指定别名(Alias)。
表的 SQL Alias 语法
SELECT column_name(s) FROM table_name AS alias_name;
列的 SQL Alias 语法
SELECT column_name AS alias_name FROM table_name;
Alias 实例: 使用表名称别名
假设我们有两个表分别是:"Persons" 和 "Proct_Orders"。我们分别为它们指定别名 "p" 和 "po"。
现在,我们希望列出 "John Adams" 的所有定单。
我们可以使用下面的 SELECT 语句:
SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Proct_Orders AS poWHERE p.LastName='Adams' AND p.FirstName='John'
4. sql中查询排名名次
sql语句是这样的
select count(*) from student where class=601 and score>(select score from student where name='张三')
这个就求出了在601班的张三前有多少个人,他的名就是这个返回值+1,这个问题不关排序鸟事。做个统计就行了!
你不会是要在页面直接调用sql语句吧!
常规方法是把这个放在一个业务类传给数据访问层做处理后返回结果传给页面
你问的response.write这个有点吃力吧!
5. sql分组 排名问题
create table #a (a char(10), b char(10),c int)
insert #a select '语文' ,'甲', 60
insert #a select '语文' , '乙' , 73
insert #a select '语文' , '丙' , 80
insert #a select '语文' , '丁' , 91
insert #a select '数学' , ' 甲' , 75
insert #a select '数学' , '乙' , 80
insert #a select '数学' , '丁' , 90
create table #e (a char(10), b char(10),c int,d int)
select distinct a into #b from #a
select identity(int,1,1) as id, a into #c from #b
declare @a int
declare @b int
select @a=min(id) from #c
select @b=max(id) from #c
while (@a<=@b)
begin
select t1.*,identity(int,1,1) as idd into #d from #a t1,#c t2 where t1.a=t2.a and t2.id=@a
insert into #e
select * from #d
drop table #d
set @a=@a+1
end
select * from #e order by a ,d desc
6. 怎么用SQL语句查找学生的成绩排名
工具/材料:以Management Studio为例。
1、首先在桌面上,点击“Management Studio”图标。
7. 用sql如何查询课程成绩排名呢
1、查询“001”课程比“002”课程成绩高的所有学生的学号:
SELECT * FROM tblScore ts1, tblScore ts2
WHERE ts1.stuid = ts2.stuid AND ts1.courseid = '001' AND ts2.courseid = '002
AND ts1.score > ts2.score
(7)sql排名问题扩展阅读
查询数据库使用SELECT命令。 这个命令相对比较复杂。可变化样式较多,这里分功能依次讲解。
1、查询数据表中所有数据 语法:select * from 表名。
2、查询指定字段的显示 语法:select 字段1,字段2,... from 表名。
3、as 别名 在查询时,默认结果显示的字段和表中字段名相同,可以通过别名来修改显示的样式 语法:select 字段1 as 别名,字段2 别名,... from 表名。在给字段起别名时,可以使用 as ,也可以直接在字段后跟别名,省略 as 。
4、消除重复数据 在查询数据时,查询结果可能会有很多重复的数据,如果不想重复,可以使用 distinct 来实现去重。 语法:select distinct 字段名 from 表名。distinct 在去重时,会比较所有的念基指定字段,携高逗只有完全相同时才认为是重复的。辩卖
5、带条件查询 where 子句 查询数据时,需要根据不同的需求设置条件。 通过 where 子句来设置查询条件。
参考资料
数据库-网络
8. SQL语句算排名的问题
SQL语句算排名的问题
复杂语句的排名,要增加一个字段来显示顺序(排名)。如果是sqlserver2005及以后的版本,可以用ROW_NUMBER() over (order by 字段)这样。NTILE 也可以实现排名。
你这个写的语句,可以排序,但没有顺序号(排名)。