Hola, ¿hay alguna manera de seleccionar las 5 mejores filas de una tabla de datos sin iteración?Tabla de datos seleccionar las 5 filas superiores
Respuesta
Si usa una instrucción LINQ, puede usar el método Take()
.
Este post también puede ser de alguna ayuda.
EDITAR
Como está utilizando VS2005, utilice el método SELECT()
en la tabla de datos de este modo:
DataRow[] rows = datatable.Select('TOP 5');
pero aparece un error: expresión de filtro '' Top 5 '' no evalúa a un término booleano. –
creo, puede utilizar LINQ:
datatable.AsEnumerable().Take(5);
eso es básicamente una iteración. esto es exactamente lo que el querist no quería! –
+1 Me derrotaron. ;) – jrista
@Andreas Niedermair, según tengo entendido, querist no quiere escribir su propio código con iteraciones. –
Uso 2 de las publicaciones anteriores, el siguiente funciona para mí:
foreach (DataRow _dr in DataSet.Tables[<tblname>].Select("", "Timestamp DESC").AsEnumerable().OfType<DataRow>().Take(5))
lo que ahora puede filtrar normalmente si se desea, orden si usted quiere y luego sólo la cantidad de registros que desea y luego iterar a través de ellos si es 1 o 100.
Esperamos que ayuda a alguien .
Esto es lo que funcionó para mí:
datatable.Rows.Cast<System.Data.DataRow>().Take(5);
- 1. Seleccionar las filas superiores e inferiores
- 2. Índice incorrecto que se utiliza al seleccionar las filas superiores
- 3. seleccionar las filas de la tabla utilizando fin árbol
- 4. Cómo seleccionar las primeras n filas de una tabla de datos/vista de datos en ASP.NET
- 5. seleccionar filas en una tabla, excepto las filas del encabezado de tabla
- 6. Seleccionar filas aleatorias de la tabla MySQL
- 7. Seleccionar filas de la base de datos por strlen
- 8. R: Seleccionar valores de la tabla de datos de gama
- 9. Cómo seleccionar las N primeras filas en un Grupo LinqPor
- 10. seleccionar las filas afectadas por una actualización
- 11. ¿Cómo selecciono las últimas 5 filas en una tabla sin ordenar?
- 12. LINQ consulta para seleccionar registros superiores
- 13. jQuery - cómo seleccionar todas las filas de la tabla entre dos filas de la tabla en la misma mesa
- 14. MYSQL Seleccionar de la tabla, obtener las últimas/últimas 10 filas en la tabla
- 15. ¿Sumar las filas seleccionadas solo en la tabla de datos?
- 16. Cómo seleccionar los datos top x datos después de las filas y de SQL Server
- 17. jQuery: seleccione las primeras cinco filas de una tabla
- 18. Linq a SQL - Devuelve n filas superiores
- 19. seleccionar las filas donde el precio no cambió
- 20. ¿Cómo se copian las filas de una tabla a otra?
- 21. Seleccionar filas distintas de MongoDB
- 22. seleccionar filas con el ID de otra tabla
- 23. Seleccionar n filas aleatorias de la tabla de SQL Server
- 24. Bloquear filas en una tabla para SELECCIONAR y ACTUALIZAR
- 25. seleccionar filas con diferencia mínima
- 26. Seleccione N filas superiores DESPUÉS de ordenar desde Dataview en C#
- 27. cómo seleccionar los 5 valores máximos máximos en mytable
- 28. TSQL Seleccionar la lista de coma en las filas
- 29. Anexando a las filas de una tabla
- 30. Insertar varias filas usando seleccionar
No estoy seguro de lo que quiere decir con "sin iteración". De una forma u otra, si desea enumerar datos en una colección de cualquier forma, tendrá que repetir esos datos en algún momento. Incluso si usa la instrucción .Take() de LINQ, eventualmente iterará sobre la cantidad de registros que tome. – jrista
@jrista, siempre puedes hacer 'row [0], row [1], ..., row [4]' y evitar la iteración :-) –
@darin: al menos no utilizas index-variable :) –