mysql - 如何从 MySQL 57 中每个学生的每个 groupcode 中选择 2 个最高分?
问题描述
我的表中的值。
现在,预期的结果例如,如果我选择在 groupcode = 1 中选择 2 个最高分,我希望看到以下内容
我的查询
SELECT marks FROM person WHERE groupCode = 1 ORDER BY marks DESC LIMIT 2;
Quigsley Kos groupCode
仅获得分数为 69 和 30的 1 的结果;
请有人帮忙。
解决方案
SELECT `sn`, `admno`, `studname`, `fclass`, `groupcode`, `subjectcode`, `marks`
FROM
(
SELECT `sn`, `admno`, `studname`, `fclass`, `groupcode`, `subjectcode`, `marks`,
CASE WHEN @group = T.groupcode AND @studname = T.studname
THEN @row:=@row+1
ELSE
@row:=1
END AS rownum,
@group:=T.groupcode AS Vargroupcode,
@studName:= T.studname
FROM TableA T,(SELECT @group:=null,@row:=0) R
ORDER BY groupcode,studname
) T1
WHERE rownum<=2
演示
推荐阅读
- django - 如何使用 django 将多行数据添加到 postgresql db
- python - Pandas DataFrame:如何合并具有多个索引和单个索引的数据帧
- arrays - 如何将数组索引从最不频繁到最频繁排序?
- android - 如何从与 SQL 中的列值匹配的子查询的结果中获取记录?
- vba - 将 VBA 代码应用于多列 - 允许从数据验证列表中选择多个选项
- sonarqube - SONAR 代码覆盖率没有得到反映
- huawei-mobile-services - 我需要访问HUAWEI AppGallery Connect API并通过PMS API(服务器API)创建产品。但是 403 客户端令牌授权失败
- angular - Angular 11:步进器中形成多个字段
- python - 使用 xarray 将 netcdf 文件的一部分转换为数据框
- java - 使用 XMLBeans 4.0.0 版和 xmlbeans-maven-plugin 2.3.3 的模式类生成失败