0
我想要做的(有点)与this old post有关的是相反的;根据group by和ID添加一个(半)连续的数字,然后标记最新的两个项目
这里是我的示例表:
ID NAME
---- ----
1 Apple
2 Apple
3 Apple
4 Bravo
5 Bravo
6 Cat
7 Cat
8 Cat
9 Cat
10 Apple
11 Apple
我想添加一个新行,增加了一个顺序编号为每个组项目。问题是有些项目多次出现,但不属于同一组。如果它们依次出现(顺序标识),它们只属于一个。
更新后的表应该是这样的:
ID GROUP NAME
---- ----- ----
1 1 Apple
2 1 Apple
3 1 Apple
4 2 Bravo
5 2 Bravo
6 3 Cat
7 3 Cat
8 3 Cat
9 3 Cat
10 4 Apple
11 4 Apple
然后作为最后一步,我想单独标记每个组的最新的两个项目(具有最高ID值的),一种像这样:
ID GROUP NAME MARK
---- ----- ---- ----
1 1 Apple false
2 1 Apple true
3 1 Apple true
4 2 Bravo true
5 2 Bravo true
6 3 Cat false
7 3 Cat false
8 3 Cat true
9 3 Cat true
10 4 Apple true
11 4 Apple true
我该怎么在MySQL中做到这一点?
您是标记假下部/旧的ID不是最新 –
要分配,其经由被有条件地递增一组使用可变在线分配。对于第二项任务 - 请注意,如果您反转订单,最后两项将成为前两项。 –