混世小萌羊 2018-10-31 10:23 采纳率: 0%
浏览 2704
已采纳

MySQL分组取分组中最大值 求解决...

表结构

CREATE TABLE grade(
num INT(10) NOT NULL,
course VARCHAR(10) NOT NULL,
score FLOAT
);
表数据
INSERT INTO grade VALUES(1001, '数学', 80), (1001, '语文', 90), (1001, '英语', 90), (1001, '计算机', 95);
INSERT INTO grade VALUES(1002, '数学', 88), (1002, '语文', 90), (1002, '英语', 89), (1002, '计算机', 90);
INSERT INTO grade VALUES(1003, '数学', 80), (1003, '语文', 98), (1003, '英语', 85), (1003, '计算机', 95);

查询语句
SELECT course, MAX(score), any_value(num) FROM grade GROUP BY course;

查出来的数据不对,后面是1001,跟成绩对应不上
course MAX(score) any_value(num)
数学 88 1001
语文 98 1001
英语 90 1001
计算机 95 1001

求解决

  • 写回答

2条回答 默认 最新

  • 17735648 2018-10-31 15:58
    关注

    SELECT
    S.course,S.score,S.num
    FROM (SELECT course,MAX(score) AS score FROM grade GROUP BY course) AS C
    join grade AS S
    ON S.score=C.score AND S.course=C.course

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

报告相同问题?

悬赏问题

  • ¥15 一道python难题2
  • ¥15 一道python难题
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备