我有一个具有以下结构的表 -
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 中运行查询。
任何帮助都将不胜感激,谢谢。
答案 0 :(得分: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
答案 1 :(得分:0)
根据您的规范,这是不可能的,并且需要一个触发器,它将使用COUNT(Col-2)
设置Col-3的值。我认为这样可行,但要确保测试:
CREATE TRIGGER col2_count AFTER INSERT ON your_table
FOR EACH ROW SET col3 = COUNT(1) WHERE col2 = NEW.col2;