tengo estos datos:

Hay tres columnas r_code, wtg_code y rr. Cada fila se puede tratar como una colección de propiedades de objeto. Tenemos que seleccionar n número de filas de las filas existentes. Teniendo en cuenta que la fila está ordenada en orden decreciente de r_code, las restricciones son,
Si puede dar la solución en Javascript, será mejor, de lo contrario, doy la bienvenida a cualquier idioma.
En JavaScript, los datos se pueden representar así:
let data = [ { r_code: 5, wtg_code: 8, rr: 3.4 }, { r_code: 5, wtg_code: 8, rr: 3.4 }, { r_code: 5, wtg_code: 7, rr: 4.5 }, { r_code: 4, wtg_code: 6, rr: 1.2 }, { r_code: 4, wtg_code: 6, rr: 2.4 }, { r_code: 4, wtg_code: 6, rr: 4.5 }, { r_code: 2, wtg_code: 6, rr: 1.6 }, { r_code: 2, wtg_code: 5, rr: 7.4 }, { r_code: 1, wtg_code: 4, rr: 3.1 }, { r_code: 1, wtg_code: 4, rr: 2.9 }, { r_code: 1, wtg_code: 3, rr: 3.3 }, ];Teniendo en cuenta que la fila se ordena en orden decreciente de r_code
Eso aún podría permitir varias permutaciones. Las reglas para la selección realmente significan que debe ordenar los datos con mayor precisión: descendiendo r_code , descendiendo wtg_code y ascendiendo wtg_code .
Para eso puedes usar el método de sort .
data.sort((a, b) => b.r_code - a.r_code || b.wtg_code - a.wtg_code || a.rr - b.rr); Finalmente, si está interesado en los primeros 10 ( n=10 ), divida:
let n = 10; console.log(data.slice(0, n));