Mysql 按200行分组,从最新ID开始

Mysql 按200行分组,从最新ID开始,mysql,sql,mysql-5.5,Mysql,Sql,Mysql 5.5,我有一个表,列ID和金额。最高ID对应最新记录。我想按每200个ID范围进行汇总,其中分组以最新记录开始,例如: ID Amount 42153 1 ... 1 41954 1 41953 2 ... 2 41754 2 将返回: last_id amount 42153 200 (= 100 x 1) 41953 400 (= 200 x 2) 这只是为了说明,我的数据中没有这么好的数量 我认为这一定是可能的,因为我可以很容易地获得ID和ma

我有一个表,列ID和金额。最高ID对应最新记录。我想按每200个ID范围进行汇总,其中分组以最新记录开始,例如:

ID     Amount
42153   1
...     1
41954   1
41953   2
...     2
41754   2
将返回:

last_id amount
42153   200 (= 100 x 1)
41953   400 (= 200 x 2)
这只是为了说明,我的数据中没有这么好的数量

我认为这一定是可能的,因为我可以很容易地获得ID和max ID:

select 
    id,
    (select max(id) from my_table) as mid
 from 
    my_table
我尝试了一些与mod或truncate的组合,但没有任何效果

样本数据:


My db版本不允许窗口问题。

如果您的MySql 8.0+版本支持windows功能,您可以执行以下操作:

选择MAXid作为最后一个\u id,选择SUMamount作为amount 从…起 选择 身份证件 数量 楼层编号按id说明超额订购-1/200作为分组值 从我的桌子上 src 分组 按MAXid DESC排序 更新 更新为不使用窗口功能工作:

选择MAXid作为最后一个\u id,选择SUMamount作为amount 从…起 选择id、金额、, 地板 选择计数* 从我的桌子t2 其中t2.id>t1.id-模拟行数 按t2.id排序 / 200 作为分组 从我的表t1 src 分组 按MAXid DESC排序 ;


我仍然不清楚是否要执行200行的范围,或者从最高ID值x开始,只捕获ID范围在x和x-200、x-200和x-400之间的行,依此类推。上面的SQL处理前者。

如果您的MySql版本8.0+我认为支持windows功能,您可以这样做:

选择MAXid作为最后一个\u id,选择SUMamount作为amount 从…起 选择 身份证件 数量 楼层编号按id说明超额订购-1/200作为分组值 从我的桌子上 src 分组 按MAXid DESC排序 更新 更新为不使用窗口功能工作:

选择MAXid作为最后一个\u id,选择SUMamount作为amount 从…起 选择id、金额、, 地板 选择计数* 从我的桌子t2 其中t2.id>t1.id-模拟行数 按t2.id排序 / 200 作为分组 从我的表t1 src 分组 按MAXid DESC排序 ;


我仍然不清楚是否要执行200行的范围,或者从最高ID值x开始,只捕获ID范围在x和x-200、x-200和x-400之间的行,依此类推。上面的SQL处理前者。

请查看并缩小比例,例如总共使用20条记录,并将2条记录分组。。然后我们就有了更好的示例数据和预期的结果来处理..示例表数据和输出是helpful@TomasGreif . . . “我不明白你想分组什么。@戈登林诺夫我已经添加了样本数据,并稍微调整了问题。我正在尝试将ID列按范围200分组。例如,如果表中的最大ID为410,我想将ID为211-410、11-210、1-10的行分组。请查看并缩小比例,例如总共使用20条记录,并将2条记录分组。。然后我们就有了更好的示例数据和预期的结果来处理..示例表数据和输出是helpful@TomasGreif . . . “我不明白你想分组什么。@戈登林诺夫我已经添加了样本数据,并稍微调整了问题。我正在尝试将ID列按范围200分组。例如,如果表中的max ID是410,我想将ID为211-410、11-210的行分组,1-10.如果您的MySql 8.0+版本支持windows功能,我认为只有MySql 8+确实支持windows功能,外部查询应该使用普通的GROUP BY,因为OP似乎对分组数据感兴趣。如果您的MySql 8.0+版本支持windows功能,我认为只有MySql 8+确实支持windows功能,外部查询应该因为OP似乎对分组数据感兴趣,所以请使用普通的旧GROUP BY。