Cita:
Empezado por paciencia_mucha
El tema es que de todos los datos que salen, si utilizo la función MAX sólo muestra uno de ellos.
Es decir, si existen dos valores que se repiten y que son máximos los dos que salgan.
|
El Max justamente hace eso, si hay dos maximos, te va a mostrar ambos registros
Cita:
Empezado por paciencia_mucha
El código que tengo es:
Código SQL [-]
SELECT pi.codi_postal_pis, count (*) AS venuts
FROM pisos pi, vendes v
WHERE pi.codi_pis = v.codi_pis
GROUP BY pi.codi_postal_pis
ORDER BY venuts DESC;
|
Ahí estas utilizando un Count, el cual si te va ha devolver 1 solo registro.
Con la consulta que te he pasado :
Código SQL
[-]
Select Max(venuts)
From (SELECT pi.codi_postal_pis, count (*) AS venuts
FROM pisos pi, vendes v
WHERE pi.codi_pis = v.codi_pis
GROUP BY pi.codi_postal_pis) tabla
Con la subconsulta obtienes todos los Count y de esos registros obtienes los maximos, que es lo que tu quieres, si encuentra 2 te va ha mostrar los dos registros, el problema que yo veo es poder mostrar en el Select mas campos "el codigo postal", para saber ese maximo a que codigo postal corresponde. Para mostrar mas campos se debe usar el group by por los campos que se quiere aumentar, pero aumentando ya no sale lo que queremos si no me equivoco va a salir como el count de la subconsulta.
Yo también quisiera saber como poder aumentar mas campos, si fuera solo sobre los maximos de una tabla se soluciona con lo que te paso coso.
Código SQL
[-]
select * from tabla
where ventas = (select max(ventas) as maxim from tabla)
pero de la forma que tenemos arriba nose, espero que alguien mas pueda ayudarnos y nos quite la duda.
Saluditos