SELECT @row := @row + 1 AS row, t.*
FROM some_table t, (SELECT @row := 0) r
ORDER BY t.title
テーブルから行を数値化し、ORDER BY
でソートするとします。ORDER BYで行に番号を付ける
ORDER BY
を使用すると、ユーザ変数@row
はORDER BY
のため1,2,3ではありません。 ORDER BY
で行を選択するにはどうすればいいですか?
SELECT @row := @row + 1 AS row, t.*
FROM some_table t, (SELECT @row := 0) r
ORDER BY t.title
テーブルから行を数値化し、ORDER BY
でソートするとします。ORDER BYで行に番号を付ける
ORDER BY
を使用すると、ユーザ変数@row
はORDER BY
のため1,2,3ではありません。 ORDER BY
で行を選択するにはどうすればいいですか?
select @row := @row + 1 as row,t.* from (
select * from some_table,(select @row:=0) as r order by title) as t
SELECT @rank:[email protected]+1 rank FROM some_table t, (SELECT @rank:=0) r order by @rank
または
発注、他のフィールドによって
SELECT @rank:[email protected]+1 rank FROM some_table t, (SELECT @rank:=0) r order by id desc
あなたRANKEDプリ返す結果セットの最初の必要性、それ
SELECT @row := @row + 1 AS row,
PreQuery.*
FROM
(select t.*
from Some_Table t
order by t.title) PreQuery,
(SELECT @row := 0) r
に行番号を割り当てます
この方法では、基本的にテーブルを2回実行します。まず、適切な順序でレコードを取得し、それらを@row実装に適用して、それぞれのランクに適切に相関させます。
+1私よりも良い:) –