0

name、amount in order amount desc を含む最小 1000 行を返すクエリを起動しています。その配列から特定の名前のインデックスが欲しいのですが、その方法がわかりません。

Rubyを使用しているので、適切にインデックスを返す arr.index(name)+1 メソッドを使用します。しかし、その特定の名前の数字のみを提供する MySQL クエリが必要です。

4

1 に答える 1

1

MySQL にはランキング機能はありません。あなたが得ることができる最も近いものは、変数を使用することです:

SELECT t.*, 
       @rownum := @rownum + 1 AS rank
  FROM TABLE t, (SELECT @rownum := 0) r

これにより、rank という列が出力に追加されます。これは一意で、増分し、1 から始まります。

于 2009-12-15T07:01:26.250 に答える