1

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

  Col-1      Col-2     
(primary)

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

我必须根据 Col-2 值在该表中插入一个列,例如Col-3,该列具有从 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中运行查询。

任何帮助将不胜感激,谢谢。

4

2 回答 2

3

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

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 
于 2013-09-20T12:42:15.127 回答
0

这不可能直接按照您的规范进行,并且需要一个触发器来设置 Col-3 的值,使用COUNT(Col-2). 我认为这会起作用,但请测试以确保:

CREATE TRIGGER col2_count AFTER INSERT ON your_table
FOR EACH ROW SET col3 = COUNT(1) WHERE col2 = NEW.col2;
于 2013-09-20T12:49:41.497 回答