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

Como obter os principais valores N de cada coluna no MySql


Isso NÃO é algo que você deseja fazer em uma única consulta. Basta quebrá-lo, uma consulta para cada coluna. Sob as circunstâncias certas (ou seja, com os índices certos e os tipos de coluna certos), o MySQL pode realmente otimizar essas consultas por curto-circuito para que nunca precise varrer a tabela inteira, apenas extraia os 5 principais valores e pronto.
SELECT column1 FROM table ORDER BY column1 DESC LIMIT 5
SELECT column2 FROM table ORDER BY column2 DESC LIMIT 5
etc

Se você tentar combiná-los todos juntos em uma consulta gigante e desajeitada, você só conseguirá convencer o otimizador a desistir e redigitalizar toda a tabela 50 vezes e depois usar 50 tabelas temporárias e provavelmente alguma classificação de arquivos para uma boa medida. Portanto, a menos que sua tabela tenha cerca de 10 linhas (o que obviamente não tem), 50 consultas separadas sempre serão mais rápidas.