mysql - 如何向mySql 数据库的表中添加具有自动递增值的列?

标签 mysql database

我有一个具有以下结构的表-

  Col-1      Col-2     
(primary)

   234        A        
   154        B
   987        B
   374        C
   983        C
   364        C
   873        A 

我必须向该表插入一列,例如 Col-3,并根据 Col-2 值从 0 开始自动递增值。对于上表,我希望值是这样的-

  Col-1      Col-2      Col-3
(primary)

   234        A           1
   154        B           1
   987        B           2
   374        C           1
   983        C           2
   364        C           3
   873        A           2

表是静态的,所以如果可能的话,我想直接在 phpmyadmin 中运行查询。

如有任何帮助,我们将不胜感激。

最佳答案

您可以使用相关子查询来做到这一点。

SELECT  A.Col1, 
        A.Col2, 
        (
            SELECT  COUNT(*)
            FROM    tableName c
            WHERE   c.Col2 = a.Col2 AND
                    c.Col1 <= a.Col1) AS RowNumber
FROM    TableName a
ORDER   BY a.Col2, RowNumber 

关于mysql - 如何向mySql 数据库的表中添加具有自动递增值的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18916996/

相关文章:

来自两个表的MYSQL QUERY总和

php - MySQL查询数据库以显示检查列表的最佳方式

带有可能有或可能没有数据的表的 MySQL 查询

java - jsp注册页面

Java - 准备好的语句和数组

mysql - 归档 5 小时从表中随机记录,并将权重设为 1/4

php - 更新 mySQL 列

php - 数据库之间的重复值

mongodb - 删除 mongodb 中的旧记录

php - 转发: Creating a RSS feed with PHP