我有以下简化表:(注意我们跳过了exam_id中的第二次考试)

+----+---------+-------+
| id | exam_id | score |
+----+---------+-------+
|  1 |    1    |   15  |
|  2 |    1    |   20  |
|  3 |    1    |   68  |
|  4 |    3    |   92  |
|  5 |    3    |   10  |
+----+---------+-------+

我想写一个$sql和一些php(我正在使用Wordpress,可以使用$wpdb)来获得以下结果:
$exam[3]=10
$exam[1]=68

不是说当有多个考试时,我们会选择对应于最大的考试的score条目
id为空。换句话说,我想保存用户最后一次尝试的考试并显示他们的分数。
我试过使用Group By和

最佳答案

试试这个

SELECT
   *
FROM exams
WHERE exams.id IN (
                     SELECT
                        MAX(id)
                     FROM exams
                     GROUP BY exam_id
                  );

10-05 21:28