sql >> Database >  >> RDS >> Mysql

MySQL combineert select met som uit andere tabel

U hoeft alleen uw scores per gebruiker te groeperen:

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

Bekijk het op sqlfiddle .




  1. Een extra kolomwaarde toevoegen met INSERT ... SELECT in MySQL

  2. MySQL:zeer langzame update/insert/deletquery's hangen aan de eindstap van de query

  3. FIX:MySQL - SELECT-opdracht geweigerd aan gebruiker

  4. MySQL:automatisch verhogen met alleen even of oneven getallen?