Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema con el uso de MAX() en una consulta

Estas en el tema de Problema con el uso de MAX() en una consulta en el foro de Mysql en Foros del Web. Hola gente estoy haciendo una prueba para despues formar una consulta mas elaborada y ni esta me sale ... quiero solo el registro con el ...
  #1 (permalink)  
Antiguo 10/11/2011, 17:33
 
Fecha de Ingreso: noviembre-2003
Mensajes: 267
Antigüedad: 20 años, 5 meses
Puntos: 4
Problema con el uso de MAX() en una consulta

Hola gente estoy haciendo una prueba para despues formar una consulta mas elaborada y ni esta me sale ...

quiero solo el registro con el id del vendedor con la mayor cantidad de ventas realizadas , en esa tabla se guarda el id del vendedor.

la consulta que estoy usando es esta

SELECT t.id_empleado , COUNT( * ) AS cantidad
FROM ticket t
GROUP BY t.id_empleado
HAVING MAX( cantidad ) ;

pero me los da todos los id`s y las cantidades de ventas
en lugar de ser el maximo
gracias
  #2 (permalink)  
Antiguo 10/11/2011, 17:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con el uso de MAX() en una consulta

Código MySQL:
Ver original
  1. SELECT t.id_empleado , COUNT(*) cantidad
  2. FROM ticket t
  3. GROUP BY t.id_empleado
  4. ORDER BY cantidad DESC
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 10/11/2011, 17:47
 
Fecha de Ingreso: noviembre-2003
Mensajes: 267
Antigüedad: 20 años, 5 meses
Puntos: 4
Respuesta: Problema con el uso de MAX() en una consulta

hola gracias pero se me paso poder aclararlo la idea es sin unar el limit ni el order , eso se me ocurrio pero debe haber una forma sin usarlos , espero me puedas dar una mano
gracias
  #4 (permalink)  
Antiguo 10/11/2011, 19:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con el uso de MAX() en una consulta

Personalmente considero ese tipo de ejercicios como gansadas pedagógicas. Carecen de utilidad y si lo que se pretende es lograr habilidad en el manejo de consultas complejas, no necesitas defirnir ese tipo de limitaciones. Con cambiar el ejercicio alcanza...
En tu caso la solución sin LIMIT u ORDER BY es con subconsultas:
Código MySQL:
Ver original
  1. SELECT id_empleado MAX(cantidad) cantidad
  2.     (SELECT t.id_empleado , COUNT(*) cantidad
  3.     FROM ticket t
  4.     GROUP BY t.id_empleado) T;
De esta forma o de otras.

Habría que probar:
Código MySQL:
Ver original
  1. SELECT t.id_empleado , COUNT(*) cantidad
  2. FROM ticket t
  3. GROUP BY t.id_empleado
  4. HAVING cantidad  = MAX(catidad);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: max, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:13.