【发布时间】:2019-04-24 09:34:17
【问题描述】:
我一直在写一个 SQL 查询,这个函数类似于返回学生一个月内的最新正式考试成绩,或者如果学生没有正式考试,则返回最新的模拟考试成绩。
例如,这是一个保存考试成绩的表格,“模式”列用于正式考试或模拟考试。
name class mode score exam_time
Alice Math mock 92 2019-03-21 10:00:00
Alice Math formal 88 2019-03-18 10:00:00
Alice Math formal 95 2019-03-07 10:00:00
Alice Science mock 89 2019-03-13 14:00:00
Bob Math mock 96 2019-03-21 10:00:00
Bob Math formal 90 2019-03-18 10:00:00
Bob Math formal 95 2019-03-07 10:00:00
Bob Science mock 98 2019-03-13 14:00:00
需要查询结果为:
Alice Math formal 88 2019-03-18 10:00:00
Alice Science mock 89 2019-03-13 14:00:00
Bob Math formal 90 2019-03-18 10:00:00
Bob Science mock 98 2019-03-13 14:00:00
数学有正式考试和模拟考试,所以需要返回最新的正式考试,科学只有模拟考试,所以返回模拟考试。
因为其他考虑,需要在一条SQL语句中实现。
【问题讨论】:
-
抱歉打错字了,应该是“成就”... //hammerself
-
你会edit the post 修复它吗?
:-)
标签: sql postgresql