mysql查询各科前3_用mysql查询各班前3名成绩

CREATE TABLE sc

(

id INT,

name VARCHAR(20),

class VARCHAR(20),

score INT

);

INSERT INTO sc VALUES (11, 'zx', '一年1班', 68);

INSERT INTO sc VALUES (12, 'zx1', '一年1班', 98);

INSERT INTO sc VALUES (13, 'zx2', '一年1班', 58);

INSERT INTO sc VALUES (14, 'zx3', '一年1班', 48);

INSERT INTO sc VALUES (15, 'zx4', '一年2班', 88);

INSERT INTO sc VALUES (16, 'zx5', '一年2班', 68);

INSERT INTO sc VALUES (17, 'zx6', '一年2班', 98);

INSERT INTO sc VALUES (18, 'zx7', '一年3班', 78);

INSERT INTO sc VALUES (19, 'zx8', '一年2班', 58);

INSERT INTO sc VALUES (20, 'zx9', '一年1班', 88);

INSERT INTO sc VALUES (21, 'zx10', '一年3班', 83);

INSERT INTO sc VALUES (22, 'zx11', '一年3班', 82);

INSERT INTO sc VALUES (23, 'zx12', '一年3班', 81);

SELECT

s1.name,

s1.class,

s1.score

FROM sc s1

WHERE

(

SELECT count(1)

FROM sc s2

WHERE

s1.class = s2.class AND s2.score >= s1.score

) <= 3

ORDER BY s1.class, s1.score DESC;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值