id height month
276 64 4
276 64 5
276 55 6
298 70 4
298 61 5
299 74 4
351 63 4
351 54 5
351 67 6
对于相同的id列:对于month列的增加值,必须在height列中增加值或等于前一个值,选择所有不满足此条件的行。 我的意思是说选择行号:= 3,5,8
答案 0 :(得分:1)
一种方法是使用相关子查询:
select *
from t
where height < (
select height
from t t2
where t.id = t2.id
and t.month > t2.month
order by month desc limit 1
)
产地:
id height month
276 55 6
298 61 5
351 54 5
LIMIT
用于获取上个月的高度。它与order by
子句组合使用,并根据给定的顺序生成第一行。在我们的例子中,我们已经过滤了当前月份大于或等于当月的月份,按照降序月份的顺序排序,并使用limit
从第一行取高度 - 有效地创建了分区{{1}其他数据库中存在的功能。