我怎样才能使字段具有顺序中的特定数字

问题描述


您好,我有一个as3应用。此应用将用户分为几组,每组由3个用户组成。

在我的mysql数据库中,“ users_into”表中有一个字段,用于标识其组中的用户数。 该字段称为“ num_in_group”,每个用户的值必须为1到3之间的数字。

为澄清起见

在应用程序中注册的第一个用户将具有编号1,第二个用户将具有编号2,第三个用户将具有编号3 ---,而第四个将具有1(而不是4)-----第五个将有2个,第六个将有3个,第七个将有1个,依此类推...

所以我的问题是我如何使该字段连续不断地具有数字1,2,3,1,2,3

解决方法

您可能会接受的一个选项是使用ROW_NUMBER()并在查询时生成此值:

SELECT
    id,1 + (ROW_NUMBER() OVER (ORDER BY id) - 1) % 3 AS seq
FROM yourTable
ORDER BY id;

以上假设id是一个自动递增列,每个用户都有一个独特的想法。这种方法唯一的潜在问题是id可能并不总是连续的或递增的。假设您可以容忍绝大多数用户的值分布为1、2和3,那么上面的值对您来说可以接受。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...