每 10 行自动递增

auto increment every 10 rows

我正在使用 PHP。我将在我的数据库中创建一个具有值的列,例如 1。我想将此值设置为每次经过 10 行时自动递增:

换句话说:

1st row will have the value = 1
2nd row will have the value = 1
........
........

10th row will have the value = 1 

11th row the value will auto increment and change to be = to 2

这是适合您的解决方案

假设您有一个名为 table1 的 table 并且 table 具有以下结构

CREATE TABLE `table1` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(50) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`)
)

请注意 id 列是自动递增的

下面的查询会给你想要的结果

select a.id,FLOOR((a.id-1)/10)+1 as calculated_value from table1 a

在结果中calculated_value会给你结果。

如果你有兴趣,一些额外的信息

假设您担心采用自增列进行计算存在风险,那么您可以使用以下

    SELECT t.id,t.name ,(@num:=@num+1) AS i,FLOOR((@num-1)/10)+1 
as calculated_value  FROM table1 t CROSS JOIN (SELECT @num:=0) AS 
dummy ORDER BY id;