表A
金额 销售时间 所属类别 表B
类别标示 类别名称
表A中之存放了销售记录,记忆所属类别标示(如1,2,3,4之类)
表B中存放类别标示,类别名称问题。。
如何查询出各类别对应的销售金额最大的N条记录??
谢谢
金额 销售时间 所属类别 表B
类别标示 类别名称
表A中之存放了销售记录,记忆所属类别标示(如1,2,3,4之类)
表B中存放类别标示,类别名称问题。。
如何查询出各类别对应的销售金额最大的N条记录??
谢谢
解决方案 »
- 求高手相助
- [SQL Server字符串处理函数]怎么判断字符串中包含特定字符串?
- 请教一个问题
- 【大家一起来讨论】这样的数据库架构有没有可能?
- 一个很棘手的问题,表的内联,也有点难度,希望大家可以提点意见!
- 怎么求出数据表里的最明细级科目?
- 设计字段 用来存储 个人简解 用这么样的数据字段?
- sql server 7.0初学者
- odbc txt数据源格式有什么约定,为何我读不到数据???
- 我写的一个DNA比对算法,大家提点意见,能不能再加快点速度
- SQL数据库,添加7万多字节的内容到ntext字段出错,删减一半就好了,请教高手如何ntext字段能支持多大的数据?
- 跪求高手,agent(代理)中的邮件配置文件为什么不可用,总是灰的??
生信息表:students 学生编号 学生姓名 学生所班级 id name class 001 学生一 class_01 002 学生二 class_01 003 学生三 class_01 004 学生四 class_02 005 学生五 class_02 006 学生六 class_02
成绩表:results 学生编号 科目名称 分数 id course_name course_score 001 语文 80
002 语文 80
003 语文 83
004 语文 80
005 语文 80
006 语文 60
001 数学 80
002 数学 80
003 数学 60
004 数学 80
005 数学 80
006 数学 82
001 外语 80
002 外语 80
003 外语 60
004 外语 80
005 外语 80
006 外语 75
怎么用sql server 查出每个班级的总分前两名的学生?
create table students(id varchar(10),cname varchar(10),class varchar(10))
insert into students values('001','学生一','class_01')
insert into students values('002','学生二','class_01')
insert into students values('003','学生三','class_01')
insert into students values('004','学生四','class_02')
insert into students values('005','学生五','class_02')
insert into students values('006','学生六','class_02')
create table results(id varchar(10),course_name varchar(10),course_score int)
insert into results values('001','语文',80)
insert into results values('002','语文',80)
insert into results values('003','语文',83)
insert into results values('004','语文',80)
insert into results values('005','语文',80)
insert into results values('006','语文',60)
insert into results values('001','数学',80)
insert into results values('002','数学',80)
insert into results values('003','数学',60)
insert into results values('004','数学',80)
insert into results values('005','数学',80)
insert into results values('006','数学',82)
insert into results values('001','外语',80)
insert into results values('002','外语',80)
insert into results values('003','外语',60)
insert into results values('004','外语',80)
insert into results values('005','外语',80)
insert into results values('006','外语',75)
goselect m.* from (select a.class , a.id , course_score = sum(b.course_score) from students a,results b where a.id = b.id group by a.class , a.id) m
where 2 > (select count(*) from (select a.class , a.id , course_score = sum(b.course_score) from students a,results b where a.id = b.id group by a.class , a.id) n where n.class = m.class and n.course_score > m.course_score )
order by m.class , m.course_score desc , m.iddrop table students,results/*
class id course_score
---------- ---------- ------------
class_01 001 240
class_01 002 240
class_02 004 240
class_02 005 240(所影响的行数为 4 行)
*/
from tableb b,tablea a
where a.所属类别 = b.类别标示
group by b.类别标示, 类别名称
order by cnt