Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Seleção aninhada do MySQL 8 com contagem


A palavra rank é uma palavra reservada no MySql 8.

Portanto, use outro nome de alias ou dê um backtick no nome de alias.

E no MySql 8 você pode usar funções de janela
SELECT 
 mapname, 
 DENSE_RANK() OVER (PARTITION BY mapname, zonegroup, steamid, style ORDER BY runtime DESC) AS `rank`,
 COUNT(*) OVER (PARTITION BY mapname, zonegroup, steamid, style) AS total
FROM ck_bonus 
WHERE steamid = '%s' AND style = %i;