举个简单的例子吧,表格如何下:
 姓名  分数
张三    60
李四    85
王五    76
赵六    96
陈七    85
王八    88
ken     60
jely    82
ball    60
现在想查询出出每个分数都有谁.
如:
60分的
张三
ken
ball
85分的
李四
陈七
76分的
王五
.....
分数是0~100之间.
请问如何写语句呢?

解决方案 »

  1.   

    不是,是单个成绩.
    60   61   62   ..............100
    姓名 姓名 姓名 ..............姓名
    姓名 姓名 姓名 ..............姓名
    不过没有的分数不能出来,也就是说不是用循环实现.
    如没有人考得62分的,就不能显示有62分
    如果是从1到100,那循环很简单.
    for(int i=0;i<101;i++)
    select name from table where score =i
    这样是不行的.
      

  2.   

    --测试数据
    create table ttt(name char(10), grade char(3))
    insert into ttt select '张三' ,'60'
    union select '李四','85'
    union select '王五','76'
    union select '赵六',    '96'
    union select '陈七',    '85'
    union select '王八',    '88'
    union select 'ken',     '60'
    union select 'jely',    '82'
    union select 'ball',    '60'select id=(select count(*) from ttt where grade=a.grade and name<a.name),* into sss from ttt a 
    --select * from sss
    declare @s varchar(8000)
    set @s=''
    select @s=@s+','''+grade+'''=max(case grade when'''+grade+ ''' then name else null end)' from sss group by grade
    select @s=stuff(@s,1,1,'')
    exec('select'+@s+' from sss group by id')
    drop table ttt
    drop table sss
      

  3.   

    60      76        82       85         88        96
    ball    王五  jely      陈七      王八      赵六      
    ken     NULL NULL 李四      NULL     NULL
    张三    NULL NULL NULL  NULL NULL
    是要这个结果吗?
      

  4.   

    select 分数,姓名 from tablename group by 分数,姓名 order by 分数 desc
      

  5.   

    有关啊,
    照你说的,
    select 分数 from 表格 group by 分数
    就可以了.
      

  6.   

    http://community.csdn.net/Expert/topic/4733/4733841.xml?temp=.444256
    就是这个贴子.