Me gustaría encontrar las diferentes formas de resolver un problema de la vida real que tenía: imagina tener un concurso, o un juego, durante el cual los usuarios recolectan puntos. Debe crear una consulta para mostrar la lista de usuarios con los mejores puntajes "n".Consulta SQL para obtener los primeros puntajes "n" de una lista
Estoy haciendo un ejemplo para aclarar. Digamos que esta es la tabla de usuarios, con los puntos ganados:
UserId - Points
1 - 100
2 - 75
3 - 50
4 - 50
5 - 50
6 - 25
Si quiero los 3 mejores puntuaciones, el resultado será:
UserId - Points
1 - 100
2 - 75
3 - 50
4 - 50
5 - 50
Esto se puede realizar en una vista o una procedimiento almacenado, como quieras. Mi destino db es Sql Server. En realidad, resolví esto, pero creo que hay diferentes formas de obtener el resultado ... más rápido o más eficiente que el mío.
Tengo un problema similar y estaba tratando de usar MAX y luego leí su responde y recuerda DENSE_RANK. Me ahorro mucho tiempo. – DataGirl