sql >> Databasteknik >  >> RDS >> Mysql

Spelarrankning efter kategorier över månader

Du behöver en annan användarvariabel för att tala om för dig när det är en ny månad.

SET @rownumber := 0;
SET @month := 0;

SELECT pla.event_date, 
  @rownumber := IF(@month=MONTH(pla.event_date), @rownumber + 1, 1) AS rank, 
  @month := MONTH(pla.event_date) AS month,
  pla.kills, pla.player_id
FROM player AS pla
INNER JOIN ...
WHERE pla.event_date >= '2017-09-01' AND pla.event_date <= '2017-12-31'
ORDER BY MONTH(pla.event_date), pla.kills DESC



  1. MySQL:Åtkomst nekad för användaren till databasen

  2. Hur man skapar ett beräknat fält i en Microsoft Access-fråga

  3. MySQL INSERT eller REPLACE kommandon

  4. MySQL:Få senaste meddelandet från 2 tabeller som är associerade med varandra