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

mysql maximo de la columna...

Estas en el tema de mysql maximo de la columna... en el foro de Mysql en Foros del Web. Bueno pues tengo un lio que ni para que... :(, la historia esta en que tengo 2 tablas Distribucion: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original ...
  #1 (permalink)  
Antiguo 14/04/2015, 13:32
 
Fecha de Ingreso: abril-2015
Mensajes: 17
Antigüedad: 9 años
Puntos: 0
mysql maximo de la columna...

Bueno pues tengo un lio que ni para que... :(, la historia esta en que tengo 2 tablas
Distribucion:
Código MySQL:
Ver original
  1. +------+----------+----------+
  2. | CIFC | Codcoche | Cantidad |
  3. +------+----------+----------+
  4. | 0001 | 001      |        3 |
  5. | 0001 | 005      |        7 |
  6. | 0001 | 006      |        7 |
  7. | 0002 | 006      |        5 |
  8. +------+----------+----------+

y
concesionario:
Código MySQL:
Ver original
  1. +------+--------+-----------+
  2. | CIFC | Nombre | Ciudad    |
  3. +------+--------+-----------+
  4. | 0001 | ACAR   | Madrid    |
  5. | 0002 | BCAR   | Madrid    |
  6. | 0003 | CCAR   | Barcelona |
  7. +------+--------+-----------+

Tengo que sacar el nombre del concesionario cuyo stock(Distribución) sea el mayor.

Sease sumo las cantidades agrupadas por CIFC y luego le hago una comparación con CIFC de una tabla a otra y saco el nombre... Pero no lo saco :(.

Supongo que sera algo así:

Código MySQL:
Ver original
  1. mysql> SELECT Concesionario.Coches
  2.     -> FROM Concesionario, Distribucion
  3.     -> WHERE Concesionario.CIFC IN
  4.     -> (SELECT Distribucion.CIFC, MAX(suma)
  5.     -> FROM Distribucion
  6.     -> WHERE SUM(Cantidad) as suma
  7.     -> GROUP BY CIFC);

Última edición por gnzsoloyo; 14/04/2015 a las 13:50
  #2 (permalink)  
Antiguo 14/04/2015, 13:54
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: mysql maximo de la columna...

Es una consulta de manual básico. Te recomiendo leer un poco mas del tema:
Código MySQL:
Ver original
  1. SELECT C.nombre, C.ciudad, SUM(d.cantidad) Total
  2. FROM Concesionario C INNER JOIN Distribucion D ON C.CIFC = D.CIFC
__________________
¿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 14/04/2015, 14:19
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años
Puntos: 74
Respuesta: mysql maximo de la columna...

Cita:
Es una consulta de manual básico. Te recomiendo leer un poco mas del tema:
¿"ORDER BY 3" quiere decir ordenar por la tercera columna?
  #4 (permalink)  
Antiguo 14/04/2015, 14:41
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: mysql maximo de la columna...

Asi es :), quiere decir order by column 3 ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 14/04/2015, 15:18
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años
Puntos: 74
Respuesta: mysql maximo de la columna...

Cita:
Iniciado por Libras Ver Mensaje
Asi es :), quiere decir order by column 3 ;)
es la primera vez que lo veo
  #6 (permalink)  
Antiguo 14/04/2015, 15:49
 
Fecha de Ingreso: abril-2015
Mensajes: 17
Antigüedad: 9 años
Puntos: 0
Respuesta: mysql maximo de la columna...

Digo lo mismo que superweb360 y mira que he visto las divisiones jejeje

Bueno pues nada muchas gracias gnzsoloyo
  #7 (permalink)  
Antiguo 14/04/2015, 16:09
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: mysql maximo de la columna...

en muchos manuales de referencia de sql se usa el order by y en lugar del nombre de la columna el numero que ocupa en el select :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 14/04/2015, 16:19
 
Fecha de Ingreso: abril-2015
Mensajes: 17
Antigüedad: 9 años
Puntos: 0
Respuesta: mysql maximo de la columna...

Digo lo mismo que superweb360 y mira que he visto las divisiones jejeje

Disculpe gnzsoloyo acabo de probarlo y creo que no me explique bien a ver si me podriais ayudar y esta vez consigo explicarme mejor :) . Eso me da la suma de todas las cantidades, yo lo que necesito es saber que concesionario tiene mayor stock(cantidad) ósea sumo las cantidades agrupadas por CIFC en Distribución lo que me da:

+------+---------------+
| CIFC | SUM(Cantidad) |
+------+---------------+
| 0001 | 17 |
| 0002 | 25 |
| 0003 | 13 |
| 0004 | 15 |
| 0005 | 38 |
| 0006 | 3 |
+------+---------------+

Y claro ahora debería de hacerle un MAX (Supongo que con subconsulta) a ese resultado para que me saque el máximo:
+------+---------------+
| CIFC | SUM(Cantidad) |
+------+---------------+
| 0005 | 38 |
+------+---------------+

Y luego ya le haría otra para sacar el nombre que esta en otra tabla.

Pero es que el problema esta en el segundo paso... No recuerdo como hacerle el máximo de ese resultado
  #9 (permalink)  
Antiguo 14/04/2015, 16:20
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: mysql maximo de la columna...

Cita:
Iniciado por superweb360 Ver Mensaje
es la primera vez que lo veo
Está en todos los manuales de todos los DBMS.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 15/04/2015, 15:50
 
Fecha de Ingreso: febrero-2015
Mensajes: 89
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: mysql maximo de la columna...

Cita:
Iniciado por adripol94 Ver Mensaje
Digo lo mismo que superweb360 y mira que he visto las divisiones jejeje

Disculpe gnzsoloyo acabo de probarlo y creo que no me explique bien a ver si me podriais ayudar y esta vez consigo explicarme mejor :) . Eso me da la suma de todas las cantidades, yo lo que necesito es saber que concesionario tiene mayor stock(cantidad) ósea sumo las cantidades agrupadas por CIFC en Distribución lo que me da:

+------+---------------+
| CIFC | SUM(Cantidad) |
+------+---------------+
| 0001 | 17 |
| 0002 | 25 |
| 0003 | 13 |
| 0004 | 15 |
| 0005 | 38 |
| 0006 | 3 |
+------+---------------+

Y claro ahora debería de hacerle un MAX (Supongo que con subconsulta) a ese resultado para que me saque el máximo:
+------+---------------+
| CIFC | SUM(Cantidad) |
+------+---------------+
| 0005 | 38 |
+------+---------------+

Y luego ya le haría otra para sacar el nombre que esta en otra tabla.

Pero es que el problema esta en el segundo paso... No recuerdo como hacerle el máximo de ese resultado
No sé si lo resolviste pero dejo un ejemplo de como hacerlo :)


Código SQL:
Ver original
  1. SELECT  id_gestor, suma FROM
  2.  ( SELECT ROW_NUMBER() OVER(ORDER BY SUM(Cant_Llamadas) DESC) id ,id_gestor ,  SUM(Cant_Llamadas) AS suma FROM Agr_GestionUsuarios
  3.     GROUP BY  id_gestor
  4. ) A
  5. WHERE id = 1
  6. GROUP BY id_gestor,suma

Es lo que me ocurre a primera vista,

Saludos,
  #11 (permalink)  
Antiguo 15/04/2015, 16:47
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: mysql maximo de la columna...

Estimado @jmendezg: Esa sintaxis no es de MySQL... es de SQL Server.

Si te fijas en el titulo del hilo el problema es en MySQL. Si propones sintaxis con uso de clausulas que pertenecen a otro DBMS le va a dar error.
__________________
¿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: bases-de-datos-general, maximo, 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 13:51.