You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL表自增Id对应FakeId每5条重置为1的算法实现求助

生成每5条重置的FakeId的计算公式

嘿,这个问题其实超简单的,用基础的取模运算就能搞定,完全不用怕算法复杂!

核心公式就是:

FakeId = (Id - 1) % 5 + 1

为什么这么写?我给你拆解开讲:

  • 先把Id减1:这一步是为了让起始计数从0开始(比如Id=1变成0,Id=5变成4)
  • 然后对5取模(%就是取模运算符,算的是除法后的余数):这样得到的结果范围会是0、1、2、3、4,正好对应5个一组
  • 最后加1:把结果从0-4变回1-5,完美符合你要的每5条重置为1的需求

举几个例子验证一下:

  • 当Id=1时:(1-1)%5+1 = 0+1 = 1
  • 当Id=5时:(5-1)%5+1 = 4+1 = 5
  • 当Id=6时:(6-1)%5+1 = 5%5=0 +1 =1(正好重置)
  • 当Id=10时:(10-1)%5+1 =9%5=4 +1=5
  • 当Id=11时:(11-1)%5+1=10%5=0 +1=1(再次重置)

在SQL里怎么用?

如果是插入数据时自动计算FakeId,以MySQL为例,你可以这么写:

INSERT INTO your_table (FakeId, column1, column2)
VALUES ((523402 - 1) % 5 + 1, 'value1', 'value2');

如果是查询时动态生成FakeId(不用存到表里),可以直接在SELECT语句里计算:

SELECT 
    Id,
    (Id - 1) % 5 + 1 AS FakeId,
    column1,
    column2
FROM your_table;

放心用这个公式就行,不管Id增长到多大,都会严格每5条重置一次FakeId~

内容的提问来源于stack exchange,提问作者André

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:14:47