gpt4 book ai didi

php - 按分数和竞赛名称降序对每个部分进行分组

转载 作者:行者123 更新时间:2023-11-29 08:25:32 24 4
gpt4 key购买 nike

enter image description here

C1 - 竞赛 1、C2 - 竞赛 2、C3 - 竞赛 3。 C1Points - 完成1Points

此表代表不同类别的学生参加不同类型的比赛的积分表。

C1、C2、C3 列是比赛名称,如果值为“1”,则表明学生正在参加该比赛。如果为“0”,则他不参加。

S1 to S15                     : Student Names
C1 ,C2,C3 : Competition Names
Section : Indicates category of that particular student
C1points, C2points, C3points : Points received by the particular student in that particular competition

在这里,我想按分数和比赛名称降序对每个部分进行分组。

请注意:C1需要更改Competition1,C2-Competition2,C3-Competition3

请引用:http://www.sqlfiddle.com/#!2/20920/1

我的最终输出如下

enter image description here

最佳答案

您可以尝试对所有部分组合使用以下查询:

select ID,name,comp_desc,points 
from (
select section,ID,name, 'Competion1' as comp_desc, C1Points as points
from students
union
select section,ID,name, 'Competion2' as comp_desc, C2Points as points
from students
union
select section,ID,name, 'Competion3' as comp_desc, C3Points as points
from students
) t
where points <> 0
group by section, name,comp_desc, points
order by section, points desc, comp_desc desc;

尽管我仍然认为您显示的输出需要更多描述。例如,Luv 指出,为什么在第 1 部分中,对于 S13 比赛 2 会出现在 3 之前。同样,对于第 2 部分,为什么对于比赛 2,S14 会出现在 S10 之前。

但是,我认为您现在可以修改上述查询以满足您的需求。

关于php - 按分数和竞赛名称降序对每个部分进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18056782/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com