sql 添加一个新列,根据每种类型自动为每一行编号。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 添加一个新列,根据每种类型自动为每一行编号。相关的知识,希望对你有一定的参考价值。

ALTER TABLE many_to_many ADD order_column INT;

CREATE TEMPORARY TABLE tmp_many_to_many AS (
	SELECT  many_to_many.id, 
	        many_to_many.type_id,
      		(
      			CASE many_to_many.type_id
      				WHEN @type_id THEN @cur_row := @cur_row + 1
      				ELSE @cur_row := 1 AND @type_id := many_to_many.type_id 
      			END
      		) AS `order_column`
	FROM	many_to_many, 
		(SELECT @cur_row := 0, @type_id := 0) var_table
	ORDER BY many_to_many.type_id, many_to_many.id
);

UPDATE	many_to_many, tmp_many_to_many
SET		many_to_many.order_column = tmp_many_to_many.order_column
WHERE	many_to_many.id = tmp_many_to_many.id;

以上是关于sql 添加一个新列,根据每种类型自动为每一行编号。的主要内容,如果未能解决你的问题,请参考以下文章

向数据框中的新列添加值

将 uuid 添加到 pandas DataFrame 中的新列

通过SQL自动添加流水号

MYSQL 为每一行从另一个表连接随机行

当根据单元格值为每一行添加其他数据时,VBA 创建超链接

使用新列更新 sql 表