我有3列(itemid
,altid
,counter
)与+1增量更新列基于
我有困难的时候的每一行循环更新基于counter
列一个MySQL表,重复值的列上重复itemid
的数量。什么我试图完成
例子:
itemid | altid | counter
1 30 1
1 31 2
1 37 3
5 53 1
5 54 2
6 112 1
6 113 2
6 114 3
6 115 4
通知,其中itemid
被复制,在counter
被递增+1。
该列表大约有2500行。我的counter
列为空。我没有运气,因为我不知道如何检测重复值(或检查以前的值)在一个while循环内的增量在PHP中更新。
这是我现在所拥有的(不工作):
$query = mysql_query("SELECT * FROM table") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)){
$itemid = $row['itemid'];
$i=1;
if($row['itemid']!=$itemid){
$i=1;
}
$id = $row['id'];
$query = mysql_query("UPDATE table SET counter='$i' WHERE id=$id") or die(mysql_error());
$i++;
}
我搜查,并没有发现很多工作来帮助实现这一目标。任何帮助或推动正确的方向将非常感激!
什么'UPDATE表SET VAR =(SELECT COUNT(*)。 ..)'? – zipser
我不知道我关注...如何在itemid列中的这些重复值上增加+1? – Chris
柜台专栏有什么意义? (即,为什么有VS得到这个数据,标准SQL十岁上下的方式'选择的itemid,COUNT(*)FROM表GROUP BY itemid') –