`
wsql
  • 浏览: 11777724 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

[MSSQL]一道合并成绩最高科目的解决方法

 
阅读更多

昨天在群里一位网友抛出这样的问题:

name 语文 数学 英语
张三 75 90 85
李四 80 85 85
获得表,查询每个 name 成绩最高的学科, 若有相同,并列
name 成绩 科目
张三 90 数学
李四 85 数学,英语

我的方案:

网友一的方案:

网友二的方案:

总结:

如果单纯作为面试的解决方案,我的方法可行。

如果用函数可能面临不同数据库的语法的限制。用函数会导致效率比较低下。

网友一给出了比较通用效率高的方案,一开始我也是这个思路,但case when 掌握的不熟练。

网友二是我的方案的改进版




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics