txt habilitar example ejemplos sql mysql greatest-n-per-group

habilitar - select max sql server ejemplos



SQL: Encuentra el registro máximo por grupo (3)

O usando una cláusula Exists, que devuelve la única fila que existe en ambas tablas

SELECT * from sometable T where exists (select 1 from (SELECT nombre, max(total) as total FROM sometable TT GROUP by nombre) TT where T.name=TT.name and T.total=TT.total )

Posible duplicado:
Recuperando el último registro en cada grupo

Tengo una tabla, que tiene tres campos y datos.

Name , Top , Total cat , 1 , 10 dog , 2 , 7 cat , 3 , 20 horse , 4 , 4 cat , 5 , 10 dog , 6 , 9

Quiero seleccionar el registro que tiene el valor más alto de Total para cada Name , por lo que mi resultado debería ser así:

Name , Top , Total cat , 3 , 20 horse , 4 , 4 Dog , 6 , 9

Probé el orden de grupo por nombre por total, pero da el registro más alto de grupo por resultado. ¿Alguien puede guiarme, por favor?


Puedes intentar algo como

SELECT s.* FROM sometable s INNER JOIN ( SELECT Name, MAX(Total) MTotal FROM sometable GROUP BY Name ) sMax ON s.Name = sMax.Name AND s.Total = sMax.MTotal


select Name, Top, Total from sometable where Total = (select max(Total) from sometable i where i.Name = sometable.Name)

o

select Name, Top, Total from sometable inner join ( select max(Total) Total, Name from sometable group by Name ) as max on max.Name = sometable.Name and max.Total = sometable.Total