Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MySQL中向行组添加“索引”_Mysql - Fatal编程技术网

如何在MySQL中向行组添加“索引”

如何在MySQL中向行组添加“索引”,mysql,Mysql,我试图在MySQL的表中添加一列,该列根据相同的名称对组的出现情况进行索引 因此,我有下面的名称和值列。我想添加索引列;每次显示具有相同名称的行时,该值从1递增 名称|值|索引 A | 40 | 1 A | 60 | 2 A | 80 | 3 B | 20 | 1 B | 50 | 2 C | 10 | 1 D | 5 | 1 有办法做到这一点吗 谢谢 尝试变量: set @prev := null set @index := 1 update yourtable set index = i

我试图在MySQL的表中添加一列,该列根据相同的名称对组的出现情况进行索引

因此,我有下面的名称和值列。我想添加索引列;每次显示具有相同名称的行时,该值从1递增

名称|值|索引 A | 40 | 1 A | 60 | 2 A | 80 | 3 B | 20 | 1 B | 50 | 2 C | 10 | 1 D | 5 | 1

有办法做到这一点吗

谢谢

尝试变量:

set @prev := null
set @index := 1

update yourtable
set index = if(
  @prev = name,
  @index := @index + 1,
  @index := 1
)
order by name, value;

但也要检查:

考虑使用触发器,例如: