终于整出来了
SELECT *
FROM table1
WHERE 姓名+学科+cstr(成绩) in (SELECT 姓名+学科+cstr(max(成绩)) FROM table1 GROUP BY 姓名,学科);
有个小问题,如果2年的成绩刚好一样,会显示两条记录,这个先不管了,小问题。我再试试,先谢谢大家,忙完了,再结贴
姓名 学科 日期 成绩
张三 数学 2015 90
李四 语文 2015 98
张三 数学 2016 99
李四 语文 2016 80
在access库里的查询试的,
SELECT 姓名, 学科, max(成绩) AS maxfen FROM tabel1 GROUP by 姓名, 学科
已经用这个求出学科的最好成绩,现在要得到最好成绩的全部信息
SELECT t1.*
FROM tabel1 AS t1, [SELECT 姓名, 学科, max(成绩) AS maxfen FROM tabel1 GROUP by 姓名, 学科
; ] AS t2
WHERE t1.姓名=t2.姓名 and t1.学科=t2.学科 and t1.成绩=t2.maxfen;
在access库里的查询,报错:microsoft Jet 数据库引擎找不到输入表或查询‘SELECT 姓名, 学科, max(成绩) AS maxfen FROM tabel1 GROUP by 姓名, 学科’确定它是否存在,或者它的名称的拼写是否正确。
SELECT 姓名, 学科, max(成绩) AS maxfen FROM tabel1 GROUP by 姓名, 学科,这个单独做测试,没问题的