表结构如下:
id, value, isvalid
1, 12, true
2, 11, true
3, 15, true
4, 12, false
5, 23, false
6, 13, false
7, 22, false
8, 13, true
9, 14, true
10, 23, true
11, 2, true
12, 21, true
先根据isvalid 分组,注意,这里要按照连续相同的值分组。因此上述数据要分三组
第一组
1, 12, true
2, 11, true
3, 15, true
第二组
4, 12, false
5, 23, false
6, 13, false
7, 22, false
第三组
8, 13, true
9, 14, true
10, 23, true
11, 2, true
12, 21, true
然后获取每组的value最大值和最小值。因此最终结果,我希望获得如下
group, maxvalue, minvalue
1, 15, 11
2, 23, 12
3, 23, 2
我在想如何不用 游标或者循环遍历表,来获得这样的结果? 想了很多办法尽力了,请大家帮助!难点在于无法用isvalid的值来group,第一步分三组感觉很难,请大家帮助。