SQL - Cómo seleccionar un valor basado en el máximo de otro?

votos
1

Si se tiene una tabla de la siguiente manera: Tabla

Quiero conseguir cada uno tiendas superior vendedor, sus ventas totales y el gerente de las tiendas. Si i consulta y obtener el total de ventas max y grupo por título tienda, ¿cómo lo consigo también el vendedor correcto?

Publicado el 27/11/2018 a las 16:58
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
1

Se podría utilizar en combinación interna subconsulta para las ventas max

select m.salesperson, t.max_sales, t.shop_title
from my_table m 
inner join (
    select max(sales) max_sales, shop_title
    from my_table
    group by shop_title
) t on t.shop_title = m.shop_title and t.max_sale = m.sales
Respondida el 27/11/2018 a las 17:04
fuente por usuario

votos
1

Puede utilizar una consulta correlacionada:

select t.*
from t
where t.total_sales = (select max(t2.total_sales)
                       from t t2
                       where t2.shop_title = t.shop_title
                      );
Respondida el 27/11/2018 a las 17:02
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more