sql >> データベース >  >> RDS >> Mysql

MySQLはselectと他のテーブルの合計を組み合わせます

    スコアをユーザーごとにグループ化する必要があります:

    SELECT @p:[email protected]+1 AS position, t.*
    FROM (
      SELECT   user.user_id,
               user.user_name,
               IFNULL(SUM(score.score_points),0) AS total_points
      FROM     user LEFT JOIN score ON user.user_id = score.score_user_id
      GROUP BY user.user_id
      ORDER BY total_points DESC
    ) AS t JOIN (SELECT @p:=0) AS initialisation
    

    sqlfiddle でご覧ください 。




    1. MySQLストアドプロシージャはそれらを使用するか使用しないか

    2. 休止状態のネイティブクエリでMySQL割り当て演算子(:=)を使用するにはどうすればよいですか?

    3. MYSQL/PHPで最大実行時間を設定する

    4. Hibernate:インデックスを作成する