1

私はこのようなテーブルを持っています

 id buildingId order  title
 --------------------------
  1      2      null  test1
  2      2      null  test2
  3      2      null  test3
  4      3      null  test4
  5      3      null  test5
  6      5      null  test6

すべての行の注文値を計算する必要があります。SQLクエリを実行した後にこのテーブルを取得する必要があります

 id buildingId order  title
  1      2      0     test1
  2      2      1     test2
  3      2      2     test3
  4      3      0     test4
  5      3      1     test5
  6      5      0     test6

どうやってやるの?

4

1 に答える 1

1
WITH recordList
AS
(
    SELECT  ID, buildingID, [order], title,
            ROW_NUMBER() OVER (PARTITION BY buildingID
                                ORDER BY ID) rn
    FROM    tableName
)
UPDATE recordList
SET [order] = rn - 1
于 2013-02-25T07:19:56.793 に答える