我有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') –