首页 > 解决方案 > 如何在“groupby”子句中选择最新的

问题描述

我在 MySQL 表中有这些数据

+---------+--------+------------+---------------------+
| student | course | allocation |    time_created     |
+---------+--------+------------+---------------------+
|       1 |      1 |        0.2 | 2020-01-01 00:00:00 |
|       1 |      2 |        0.4 | 2020-01-01 00:00:00 |
|       1 |      3 |        0.6 | 2020-01-01 00:00:00 |
|       1 |      2 |        0.9 | 2021-01-01 00:00:00 |
+---------+--------+------------+---------------------+

前三行是 2020 年添加的,对应于1课程12和的学生分配3。第四行是在 2021 年添加的,并将课程的分配更新20.9

我的问题是如何获得每对(student, course).

(最新 = 最新time_created

我尝试使用一个简单的groupby但我无法获得一组分配的最大值(student, course)

标签: mysqlsqlgroup-bygreatest-n-per-group

解决方案


推荐阅读