【问题标题】:How to use MAX with show all data on SQL如何使用 MAX 显示 SQL 上的所有数据
【发布时间】:2022-01-14 16:33:47
【问题描述】:

对不起,我的英语不好,我需要使用 MAX 查询来显示整个数据记录的帮助。 示例数据: 表 A - 学生姓名 - 课程名 - 分数

Name    Course          Score
Aldo || Mathematics  || 90
Aldo || Physics      || 85
Aldi || Mathematics  || 60
Aldi || Physics      || 50

想要的结果 我想在每个课程名称上显示最高分数,但在表格上显示所有数据

例子:

Name    Course          Score   Max Course
Aldo || Mathematics  || 90    || 90
Aldo || Physics      || 85    || 85
Aldi || Mathematics  || 60    || 90
Aldi || Physics      || 50    || 85

谢谢!

【问题讨论】:

    标签: php sql max


    【解决方案1】:

    您可以在 SQL 中使用窗口函数来实现结果。 下面的查询将提取表中的所有记录以及分数的最大值。

    select name,
       course,
       score,
       max(score) over (partition by course) as max_course
    from {table}
    

    【讨论】:

    • @Aldo Julianto 说:非常感谢您的帮助,但是当我执行该查询时出现一些错误,出现错误:选择名称,课程,分数,最大(分数)超过(按课程分区)作为分数结果中的 maxcourse :#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的 score LIMIT 0, 25' 附近的 '(PARTITION BY 'course') 附近使用正确的语法
    猜你喜欢
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 2012-08-03
    • 2019-03-06
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    相关资源
    最近更新 更多