から
ない はい - 行カウンタをインクリメントしていない、増分重複カウンタ
なし次のようなものがあります。主キーがこのテーブルにあると仮定します。主キーがなければ、特定の行を簡単に更新する問題が発生するでしょう。多くの重複があります。
someTable (
pkID (Primary Key),
position,
Average,
gpm
)
を次のように
は、したがって、この例のために私は、したがって、次のINSERTは、私はあなたがPHPでこのような何かを試すことができ
INSERT INTO someTable (
pkID,
position
)
SELECT
someTable.pkID,
calcTable.position
FROM someTable
INNER JOIN (
SELECT
MIN(c.position) AS position,
c.Average,
c.gpm
FROM (
// Calculate the position for each Average/gpm combination
SELECT
@p = @p + 1 AS position,
someTable.Average,
someTable.gpm
FROM (
SELECT @p:=0
) v,someTable
ORDER BY
someTable.Average DESC,
someTable.gpmp ASC
) c
// Now regroup to get 1 position for each combination (the lowest position)
GROUP BY c.Average,c.gpm
) AS calcTable
// And then join this calculated table back onto the original
ON (calcTable.Average,calcTable.gpm) = (someTable.Average,someTable.gpm)
// And rely on the PK IDs clashing to allow update
ON DUPLICATE KEY UPDATE position = VALUES(position)
何かを試してみましたか?その場合は、ここに投稿してください – xbonez