sql >> Databáze >  >> RDS >> Mysql

MySQL kombinuje výběr se součtem z jiné tabulky

Stačí seskupit skóre podle uživatelů:

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

Podívejte se na sqlfiddle .




  1. Jak předat data z aktivity do třídy Java

  2. Jak FROM_UNIXTIME() funguje v MariaDB

  3. Jak mohu odkazovat na atribut uvnitř tabulky na hodnotu v novém řádku ve stejné tabulce

  4. MySQL:jedinečný index nerespektující hodnoty `null`