0

SQLでは、ページ番号順にリストをクエリしたいと思います

SELECT * FROM `comics` 
WHERE 1
ORDER BY pageNumber ASC

次に、クエリ内のインデックスに基づいてpageNumbersを設定します(0ではなく1から開始します)。

これが、必要に応じた機能の擬似コードです。ここで、listは上記のSelectQueryの戻り値です。

for(var n:int = 0; n<list.length; n++){
    if(list[n].pageNumber != n+1){
        list[n].pageNumber = n+1
    }
}

たとえば、pageNumbersがあるかもしれません 5, 17, 23, 24, 18, 7

ORDER BYpageNumberASCはこれをにソートします5, 7, 17, 18, 23, 24

次に、pageNumbersを変更して1, 2, 3, 4, 5, 6

編集:

@fortheworld MySQL

@cyberkiwi UPDATE

不明でごめんなさい。私の質問を明確にするためにもっと学ぶ必要があると思います:)すべてのあなたの助けに感謝します

4

2 に答える 2

1
SET @I := 0;

  SELECT *,
         @I := @I + 1 AS newPageNumber
    FROM comics
ORDER BY pageNumber ASC
于 2011-02-09T01:08:47.840 に答える
0

単一のステートメントで十分な場合に、人々が SQL バッチを作成することに固執する理由がわかりません。

SELECT comics.*, @n := @n + 1 AS PageNumber2
FROM (SELECT @n := 0) X CROSS JOIN comics
ORDER BY pageNumber ASC
于 2011-02-09T01:33:28.267 に答える