mysql - 将表的行枚举到 MySQL 中的新列中

标签 mysql sequence

我有一张 table 。我想在上面选择一个可以作为各种索引的列。

我有这张表,table1:

col 1     col2  col3
a         b     c
d         e     f
g         h     i  

我想做的事:

CREATE TEMPORARY TABLE temp1 AS
SELECT (some way to create a sequence from 1 to the height of the table) AS `seq`
,col1
,col2
,col3
FROM table1;

得到

seq    col 1     col2  col3
1      a         b     c
2      d         e     f
3      g         h     i  

我一直在谷歌上搜索,似乎找不到任何有用的东西。抱歉,我也是 MySQL 的初学者。

最佳答案

如果要使用临时表,可以复制table1的表定义,但添加一个自增列。

DROP TEMPORARY TABLE IF EXISTS temp1;
CREATE TEMPORARY TABLE temp1 (
  seq  INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  col1 VARCHAR(255),
  col2 VARCHAR(255),
  col3 VARCHAR(255)
) AS
  SELECT NULL seq
    ,col1
    ,col2
    ,col3
  FROM table1
;

SELECT * FROM temp1;

fiddle

关于mysql - 将表的行枚举到 MySQL 中的新列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36231230/

相关文章:

java - 将序列的下一个值与字符串连接起来

MySql 查询两个不同表的关系

mysql - 在 MySQL 中创建数组变量

mysql - 发票表格设计

php - 实时处理和更新的最佳方法是什么?

java - 我怎样才能把 future 的 future 变成一个 future 的对象?

arrays - 在 Swift 中,我想将 "join"两个序列放入一个元组序列中

linux - 关于 Linux/Ubuntu 中 2 个图像序列的比较

c++ - 除了这里的数组,我还能使用什么?

java - jdbc-java-方法查询