Ver Mensaje Individual
  #8  
Antiguo 02-12-2021
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
El problema fundamental es que los datos no tienen claro cual es su unicidad. Hice un ejemplo en:

https://dotnetfiddle.net/PSiEN5

Código PHP:
using System;
using System.Linq;
using System.Collections.Generic;

class 
Tabla
{
    public 
int ramo;
    public 
int producto;
    public 
int poliza;
    public 
string descripcion;
}

public class 
Program
{
    public static 
void Main()
    {
        List<
Tablarecords = new List<Tabla>()
        {new 
Tabla{ramo 1730producto 1poliza 200descripcion "Pruebas 2"}, new Tabla{ramo 1730producto 1poliza 200descripcion "Pruebas"}, new Tabla{ramo 1730producto 1poliza 200descripcion "Pruebas 2"}, new Tabla{ramo 1730producto 1poliza 120descripcion "Pruebas"}, };
        List<
Tabla= (
            
from row in records
            orderby row
.ramorow.productorow.poliza descendingrow.descripcion descending
            group row by 
new
            {
            
row.ramorow.productorow.poliza
            
}
                
into t
                select 
new Tabla()
                {
ramo t.Key.ramoproducto t.Key.producto
                 
poliza t.Key.polizadescripcion t.ToList().FirstOrDefault().descripcion}).ToList();
        
        foreach (
Tabla item in q)
        {
            
Console.Write(item.ramo);
            
Console.Write(item.producto);
            
Console.Write(item.poliza);
            
Console.WriteLine(item.descripcion);
        }
    }

Código:
17301200Pruebas 2
17301120Pruebas
Como vez, no da exacto con Casimiro porque el resultado que pone tiene ambigüedad con los datos que tienes.

Tu ejemplo anterior dice que todos los campos hay que agruparlos, pero eso no coincide con los resultados posibles. Dependiendo de qué campos y de que orden se cambia el resultado, PERO, es AMBIGUO! Con mas datos dudo de que sea estable la solución!

La solución es encontrar cómo diferenciar los datos y asignarles un ORDEN/RANK.

Describes que estos datos NO SON los reales y que usaste un ejemplo? Si es asi, solo estas complicando la solucion. Por ejemplo, es muy dificil usando STRING determinar el orden/ranking porque su orden esta basado en reglas de idiomas humanos.
__________________
El malabarista.
Responder Con Cita