0

次のようなレコードセットを注文しています。

SELECT * FROM leaderboards ORDER BY time ASC, percent DESC

あなたに関連するレコードの ID を持っているとします。上記の順序でレコードセット内のどの位置にあるかを調べるにはどうすればよいですか?

「時間」と言うだけで注文された場合は理解できます

SELECT count from table where time < your_id

しかし、2 つの ORDER BY があると混乱します。

4

2 に答える 2

0

これはあなたが望むことをしますか?

SELECT count(*)
FROM leaderboards lb cross join
     (select * from leaderboards where id = MYID) theone
WHERE lb.time < theone.time or
      (lb.time = theone.time and lb.percent >= theone.percent);

これは、 の重複がないことを前提としていtime, percentます。

于 2013-08-23T14:15:23.360 に答える