| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1286 人关注过本帖
标题:sqlserver 查询的问题
只看楼主 加入收藏
chen8919043
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-28
结帖率:0
收藏
已结贴  问题点数:10 回复次数:12 
sqlserver 查询的问题
sqlserver 列出各班级中总分最高的学生

二班 李3 72
二班 李3 67
二班 李3 53
二班 李3 83
二班 李3 76
二班 李3 86
二班 1四 72
二班 1四 59
二班 1四 90
二班 1四 81
二班 1四 86
二班 1四 75
二班 李四 81
二班 李四 50
二班 李四 61
二班 李四 52
二班 李四 70
二班 李四 81
六班 刘2 72
六班 刘2 55
六班 刘2 71
六班 刘2 46
六班 刘2 83
六班 刘2 52
六班 刘二 74
六班 刘二 65
六班 刘二 80
六班 刘二 92
六班 刘二 70
六班 刘二 99
三班 王武 82
三班 王武 60
三班 王武 50
三班 王武 82
三班 王武 70
三班 王武 95
三班 3武 72
三班 3武 79
三班 3武 75
三班 3武 79
三班 3武 58
三班 3武 68
三班 王5 72
三班 王5 67
三班 王5 53
三班 王5 45
三班 王5 57
三班 王5 69
四班 赵6 72
四班 赵6 72
四班 赵6 75
四班 赵6 58
四班 赵6 96
四班 赵6 43
四班 赵六 84
四班 赵六 50
四班 赵六 70
四班 赵六 92
四班 赵六 70
四班 赵六 85
五班 陈九 50
五班 陈九 90
五班 陈九 80
五班 陈九 76
五班 陈九 54
五班 陈九 98
五班 陈9 72
五班 陈9 78
五班 陈9 79
五班 陈9 55
五班 陈9 97
五班 陈9 52
一班 张三 84
一班 张三 70
一班 张三 90
一班 张三 82
一班 张三 60
一班 张三 91
一班 张1 72
一班 张1 67
一班 张1 53
一班 张1 83
一班 张1 73
一班 张1 92
一班 2三 72
一班 2三 76
一班 2三 85
一班 2三 73
一班 2三 75
一班 2三 52


请问这个怎么判断出每个班总分最高的人????
搜索更多相关主题的帖子: sqlserver 查询 
2010-08-18 17:49
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:1 
感觉设计不合理.
最好加个班级表.那样的话更容易查询,筛选数据

[ 本帖最后由 gameohyes 于 2010-8-19 00:03 编辑 ]

C#超级群 74862681,欢迎大家的到来!
2010-08-18 23:49
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:1 
什么是总分最高的人数?是指并列第一的人数?

★★★★★为人民服务★★★★★
2010-08-19 08:22
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
收藏
得分:1 
先查询班级,然后再一个一个查询各班总分最高的

2010-08-19 09:07
chen8919043
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-28
收藏
得分:0 
class_t(classid,classname)
       g1        一班
       g2        二班
       g3        三班
       ...       ...
student_t(studentid,studentname,classid)
       101 张三 g1
       102 李四 g2
       103 王武 g3
       ... ...  ...
course_t(courseid,coursename)
       s1     数学
       s2     英语
       s3     化学
       ...    ...  
score_t(studentid,courseid,score)
       101 s1 80  
       101 s2 70   
       101 s3 90   
       101 ...  ..  

列出各班级中总分最高的学生

这个是原题,谁能帮我看看啊
2010-08-19 09:09
tww124849980
Rank: 2
等 级:论坛游民
帖 子:13
专家分:22
注 册:2010-6-29
收藏
得分:1 
SELECT class_t.classname, temp_t.studentname, temp_t.totalscore
FROM
    class_t INNER JOIN
        temp_t ON class_t.classid = temp_t.classid INNER JOIN
        (SELECT classid, MAX(totalscore) AS totalscore
    FROM
        (SELECT dbo.student_t.studentid, dbo.student_t.studentname, dbo.student_t.classid,
             SUM(ISNULL(dbo.score_t.score, 0)) AS totalscore
           FROM dbo.student_t LEFT OUTER JOIN
              dbo.score_t ON dbo.student_t.studentid = dbo.score_t.studentid
              GROUP BY dbo.student_t.studentid, dbo.student_t.studentname, dbo.student_t.classid)
    as temp_t
    GROUP BY classid)
as temp1_t
ON temp_t.classid = temp1_t.classid AND
temp_t.totalscore = temp1_t.totalscore
2010-08-19 16:36
yuanxl33
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:64
注 册:2010-4-11
收藏
得分:1 
看到6楼 我晕了
2010-08-20 02:27
luanyunfeng
Rank: 2
等 级:论坛游民
帖 子:10
专家分:36
注 册:2010-8-20
收藏
得分:1 
首先此Table 的列名分别为class,name,num
首先查出每个学生的总分
Select sum(num) As New_num From Table
Group By Class,name
然后从这个查询中查出最大的数字嘛
Select max(New_num),class From
(Select sum(num) As New_num ,Class,name From Table
Group By Class,name)
Group By Class
Order by Class
2010-08-20 10:20
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
程序代码:
select * from 
    (select classname,t2.studentname,max(t2.score) score from class_t cla,
    (select studentname,classid,t1.coursename,t1.score from student_t st,
    (select studentid,coursename,score from score_t sc,course_t co where sc.courseid=co.courseid) t1
        where t1.studentid=st.studentid) t2  where t2.classid=cla.classid
            group by classname,t2.studentname ) t3 
        where t3.score in (select max(t2.score) score from class_t cla,
    (select studentname,classid,t1.coursename,t1.score from student_t st,
    (select studentid,coursename,score from score_t sc,course_t co where sc.courseid=co.courseid) t1
        where t1.studentid=st.studentid) t2  where t2.classid=cla.classid
            group by classname ) 

C#超级群 74862681,欢迎大家的到来!
2010-08-20 10:59
dearwolf4128
Rank: 5Rank: 5
来 自:陕西西安
等 级:职业侠客
威 望:6
帖 子:79
专家分:365
注 册:2010-7-2
收藏
得分:1 
select top 1 * from 表 group by 班级 order by 分数 desc
2010-08-20 16:27
快速回复:sqlserver 查询的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013060 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved