狮子~ 2022-04-27 09:06 采纳率: 100%
浏览 54
已结题

hive指定规则排序的问题

有这样一组数据:
学号 姓名 科目 分数
202212001 张三 数学 79
202212001 张三 语文 79
202212001 张三 英语 60
202212001 张三 化学 79
202212001 张三 历史 60
202212002 李四 数学 80
202212002 李四 语文 88
202212002 李四 英语 79
202212003 王五 数学 89
202212003 王五 语文 89
202212003 王五 历史 90
202212003 王五 化学 90
202212003 王五 数学 79

想要的效果是,学生科目按照分数排序,如果这个学生的个科目分数一样的话,按照 数学>语文>历史>英语 进行排序.

我尝试过用rank()函数进行排序.但是无法达成指定规则进行排序.

请问各位有没有好办法解决这种场景

  • 写回答

2条回答 默认 最新

  • xtasce2012 2022-04-27 10:13
    关注

    给题主一个思路,在子查询中新增一个字段,数语历英分别为1、2、3、4,学生科目按分数排序,同时如果成绩相同,按照新增字段的数字大小排序,这样就可以解决题主需求了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月6日
  • 已采纳回答 4月28日
  • 创建了问题 4月27日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同