我有一个MYSQL表如下:
id, batch_id, cola, colb, colc, updated
cola
,colb
和colc
可以包含重复值,如果有任何更改,则它不再是重复的组。
所以假设我有以下值:
1, 1, 0, 0, 0, 2017-01-01 01:02:03
2, 2, 0, 0, 0, 2017-01-01 01:02:04
3, 3, 1, 0, 0, 2017-01-01 01:02:05
4, 4, 1, 0, 0, 2017-01-01 01:02:06
5, 5, 1, 0, 0, 2017-01-01 01:02:07
6, 6, 0, 0, 0, 2017-01-01 01:02:08
7, 7, 0, 0, 0, 2017-01-01 01:02:09
8, 8, 0, 0, 0, 2017-01-01 01:02:10
9, 9, 1, 0, 0, 2017-01-01 01:02:11
10, 10, 1, 0, 0, 2017-01-01 01:02:12
11, 11, 1, 0, 0, 2017-01-01 01:02:13
如您所见,此数据包含多个重复组。
我想获取每个重复组的第一个和最后一个实例的ID。 那将是:
1,
2,
3,
5,
6,
8
9,
11
我只有每组返回一个min和max Id的查询。 即我只会得到
1,
3,
8,
11
这里的问题:mysql: group by first and last occurrence更好地描述了我的问题,但答案使用了一些我不理解的变量foo,它只依赖于1个重复的列,我有8个重复的列
表中有大约2800万条记录......
任何人都可以帮助我吗?