如何查詢出同課程、同成績(jī)的學(xué)生的學(xué)號(hào)、課程編號(hào)和成績(jī)?
為了解決這個(gè)問題,我們可以使用 mysql 中的 group by 和 having 子句。
.group by 子句用于將表中的數(shù)據(jù)分組。它將相同值的行分組到一起,并為每個(gè)組創(chuàng)建一個(gè)新的行。在本例中,我們可以按 cid(課程編號(hào))和 score(成績(jī))對(duì) sc` 表進(jìn)行分組。
.having 子句用于對(duì)分組后的數(shù)據(jù)進(jìn)行篩選。它將基于分組結(jié)果對(duì)數(shù)據(jù)進(jìn)行限制。在本例中,我們可以使用 having` 篩選出現(xiàn)次數(shù)大于 1 的組。
以下是查詢的完整代碼:
select group_concat(sid order by sid) sids, cid, score from sc group by cid, score having count(1) > 1;
該查詢將返回以下結(jié)果:
sids | cid | score |
---|---|---|
01,03 | 01 | 80.0 |
02,03 | 03 | 80.0 |
這與期望的結(jié)果是一致的,展示了不同課程成績(jī)相同的學(xué)生的學(xué)生編號(hào)、課程編號(hào)和學(xué)生成績(jī)。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END