0

基本的に、私はこのクエリを使用して、関連付けられた数の合計に基づいて多数のユーザーをグループ化します。各結果にインデックスを割り当てる方法が必要です。私はこれを行う方法を空白にしています。ASで何かをエイリアスする必要があると思っていますが、その方法はよくわかりません。何か案は?

これは、ページを動的に切り替える現在のクエリです。

SELECT COUNT(*) as count, user_id, SUM(earnings) as sum FROM ci_league_result
 GROUP BY user_id ORDER BY sum desc LIMIT ".$page.', '.$per;

私はそれがこのようなもので動作することを探しています:

SELECT COUNT(*) as count, user_id, SUM(earnings) as sum, *NEW-RESULTS-OVERALL-INDEX* AS newindex FROM ci_league_result
GROUP BY user_id ORDER BY sum desc LIMIT ".$page.', '.$per;

2番目のクエリのASnewindexに注意してください。

アドバイスありがとうございます!

4

2 に答える 2

1

あなたは変数でこれを達成することができるはずですSQL

SELECT
  COUNT(*) as count,
  user_id,
  SUM(earnings) as sum,
  @rownum := @rownum+1 AS newindex
FROM ci_league_result,
(SELECT @rownum:=0) r
GROUP BY user_id
ORDER BY sum DESC
LIMIT ".$page.', '.$per;
于 2012-12-28T22:53:26.747 に答える
1

これを試して:

SELECT user_id, count, sum, @row := @row + 1 AS newindex FROM
(SELECT
   COUNT(*) as count,
   user_id,
   SUM(earnings) as sum
FROM ci_league_result 
GROUP BY user_id ORDER BY sum desc LIMIT ".$page.', '.$per) r
CROSS JOIN (SELECT @row := 0) rr;

編集済み

于 2012-12-28T22:53:45.013 に答える