mysql - 从唯一 id mysql 生成自动增量值

标签 mysql

我在一个表中根据id收集不同类型值的相同相似数据:

 +------+---------------+-----------------+----------------+ 
 |  id  |   TransID     |     Amount      |   InsertDate   |
 +------+---------------+-----------------+----------------+ 
 |  1   |      1        |       12        |   19-03-2004   |
 |  2   |      2        |       9         |   20-03-2004   |
 |  3   |      3        |       4         |   21-03-2004   |
 |  4   |      1        |       12        |   22-03-2004   |
 |  5   |      2        |       9         |   23-03-2004   |
 |  6   |      3        |       4         |   24-03-2004   |
 |  7   |      1        |       12        |   25-03-2004   |
 +------+---------------+-----------------+----------------+ 

当我根据 TransID 为 1 选择表时,我希望根据表的 ID 为记录设置一个唯一的自动递增 ID。

如何做到这一点?因此结果将是

 +------+---------------+-----------------+----------------+--------------- 
 |  id  |   TransID     |     Amount      |   InsertDate   | NewGeneratedID
 +------+---------------+-----------------+----------------+----------------- 
 |  1   |      1        |       12        |   19-03-2004   |       1
 |  4   |      1        |       12        |   22-03-2004   |       2
 |  7   |      1        |       12        |   25-03-2004   |       3
 +------+---------------+-----------------+----------------+ ---------------

并且当我只选择表的特定 id 时,例如 id 4,它将给我 NewGeneratedID 2,而不是 1。

 +------+---------------+-----------------+----------------+--------------- 
 |  4   |      1        |       12        |   22-03-2004   |       2
 +------+---------------+-----------------+----------------+ 

最佳答案

您可以根据您的要求使用以下查询

    SELECT t.id,t.TransID ,t.Amount,t.InsertDate ,(@num:=@num+1) AS
 NewGeneratedID  FROM table1 t cross join (SELECT @num:=0) AS dummy 
where t.TransID=1  ORDER BY id;

关于mysql - 从唯一 id mysql 生成自动增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36725776/

相关文章:

mysql - 从逗号分隔的列中获取不同的值并将其插入到mysql中的另一个表中

mysql - 需要更漂亮的sql查询建议

Mysql 在 600 万行表上的性能

javascript - 为用户返回时保存表单数据

php - 有没有办法使用 mysql_query 设置默认数据库句柄?

mysql 唯一索引与复合索引

mysql - 使用 2 个表的 Laravel 5.1 查询

php - 在MySql中如果我不放置closeCursor会怎样?

mysql - 如何知道 MySQL UPDATE 查询是否因为提供的信息与数据库中已有的数据相匹配而失败?

mysql - MySQL 与 NodeJS 后端和 ReactJS 前端的集成