【发布时间】:2019-12-20 12:25:49
【问题描述】:
我想在一个查询中找到两个(或多个)课程的用户 ID 和最大成绩单记录,但我只获得这两个课程的一个最大记录,即如果我用户参加了两个课程,我只会得到他上一堂课的最高记录,不是两门课的最高记录。
我想获得两个班级的最大记录。 这就是我所拥有的:
select userid, max(transcriptid)
from chris_dwh.ekp_transcript_v t
where t.learningid in ('EKP000000708', 'EKP000000523')
当我想看到类似的东西时,我的结果是一个 userid 和一个 transcriptid
userA EKP009037723
userA EKP009036301
userB EKP009057809
userB EKP008479198
【问题讨论】:
-
向我们展示一些示例表数据,以及匹配的预期结果。
-
您有一个没有
GROUP BY的聚合查询。这在语法上是不正确的。 -
不语义正确。
-
t是一个糟糕的表别名。为 ekp_transcript_v 选择有意义的内容,例如e、et或ekpt。