有一张学生成绩表,学号,姓名,成绩表中有上百条记录, 并ID是不连续的请取出成绩前10名的学生姓名,并按 姓名,成绩 显示 降序排列select 姓名 TOP 10 成绩 FROM 成绩表 where order by 成绩 DESC为何不对?

解决方案 »

  1.   

    select top 10 * from 成绩表 where order by 成绩 DESC
      

  2.   


    报错:服务器: 消息 156,级别 15,状态 1,行 1
        在关键字 'order' 附近有语法错误。而且我只要显示 姓名和成绩 不要显示学号
      

  3.   

    sql 2005 ?2005
    ----
    rownumber() over(order by studentID)
    2000
    ----
    只能创建一个#T自己加入增长标识。
      

  4.   

    select stuname,top 10 stugrade from student order by grade desc!
      

  5.   

    SELECT [学生姓名] FROM 
    (
      SELECT TOP 10 * FROM [成绩表] WHERE ORDER BY [成绩] DESC,[姓名] DESC
    )T
      

  6.   

    create table 成绩表
    (
    学号 varchar(10) ,
    姓名 varchar(10),
    成绩 varchar(5),
    )insert into 成绩表select '1','a','60' 
    union
    select '2','b','70'
    union
    select '3','c','0'
    union
    select '4','d','59'
    union
    select '5','e','59.5'
    union
    select '6','f','100'
    union
    select '7','g','80'
    union
    select '8','h','90'
    union
    select '9','i','77'
    union
    select '10','j','61'
    union
    select '11','k','55'
    请取出成绩前10名的学生姓名,并按 姓名,成绩 显示 降序排列
    select top 10 成绩,姓名
      from 成绩表
    order by 成绩 desc 成绩    姓名         
    ----- ---------- 
    90    h
    80    g
    77    i
    70    b
    61    j
    60    a
    59.5  e
    59    d
    55    k
    100   f(所影响的行数为 10 行)drop table 成绩表
    说明 top要紧靠着select 如select  top......
      

  7.   

    不用加where 
    select top 10 成绩 from 成绩表 order by 成绩 desc
      

  8.   

    select 姓名 TOP 10 成绩 FROM 成绩表 where order by 成绩 DESC应该是 top 10紧跟在select 的后面select  TOP 10 姓名,成绩 FROM 成绩表 where order by 成绩 DESC
      

  9.   

    select top 10姓名, 成绩
      from 成绩表
    order by 成绩 desc 
      

  10.   

    没有查询条件写where做什么???去掉where就行了
      

  11.   

    成绩    姓名         
    ----- ---------- 
    90    h
    80    g
    77    i
    70    b
    61    j
    60    a
    59.5  e
    59    d
    55    k
    100   ff 100应该排第一呀?
      

  12.   

     姓名  成绩         
    ----- ---------- 
    a    100
    c    99
    d    88
    e    87
    f    86 
    b    85
    g    84
    h    83
    j    79
    u    78姓名排在前怎么做?
      

  13.   

    drop table 成绩表
    create table 成绩表
    (
    学号 varchar(10) ,
    姓名 varchar(10),
    成绩 varchar(5),
    )insert into 成绩表select '1','a','60' 
    union
    select '2','b','70'
    union
    select '3','c',''
    union
    select '4','d','59'
    union
    select '5','e','59.5'
    union
    select '6','f','95'
    union
    select '7','g','80'
    union
    select '8','h','90'
    union
    select '9','i','77'
    union
    select '10','j','61'
    union
    select '11','k','55'
    --请取出成绩前10名的学生姓名,并按 姓名,成绩 显示 降序排列
    select  TOP 10 姓名,成绩 FROM 成绩表 
    order by 成绩 DESC;