采用学期制将一年分成两部分的学术学期。
我从SQL查询中得到以下结果,如上面所述,该术语的值从1到2-它总是保存该特定术语的学生(ID)的分数:
ID | Year | Term | Career | Score
-----------------------------------
1 | 2015 | 2 | 70 | 3,25
1 | 2015 | 1 | 70 | 3,58
2 | 2015 | 1 | 71 | 4,05
2 | 2014 | 2 | 71 | 4,17
3 | 2012 | 2 | 70 | 3,88
3 | 2012 | 1 | 70 | 4,23
3 | 2011 | 2 | 70 | 4,78我希望为每个学生返回最近一个学期(年度学期)的相应行,结果如下:
ID | Year | Term | Career | Score
-----------------------------------
1 | 2015 | 2 | 70 | 3,25
2 | 2015 | 1 | 71 | 4,05
3 | 2012 | 2 | 70 | 3,88我正在利用GROUP BY条款,有以下几个特点:
问题是,我需要将这个期限保持在相应的年份,而最大(术语)子句是导致错误的那个。例如,使用我现在获得的查询,结果是不正确的,因为它将返回此行:
ID | Year | Term | Career | Score
-----------------------------------
2 | 2015 | 2 | 71 | 4,05而不是这个(这是正确的):
ID | Year | Term | Career | Score
-----------------------------------
2 | 2015 | 1 | 71 | 4,05我如何保持(学期)之间的通信?
提示: 2015-2大于2015-1,2014-1大于2013-2。
发布于 2016-10-19 18:32:45
不幸的是,Informix不提供row_number()。
下面的方法有效吗?
select t.*
from t
where year || term = (select max(t2.year || t2.term)
from t t2
where t2.id = t.id
);发布于 2016-10-19 18:37:14
维护“更新日期”列。使用本专栏,您可以实现任何您想要的。
https://stackoverflow.com/questions/40139021
复制相似问题