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

[SOLUCIONADO] Consulta en mysql

Estas en el tema de Consulta en mysql en el foro de Bases de Datos General en Foros del Web. Hola !!! Tengo que realizar esta consulta en mysql "3.6. Listar el nombre de la ciudad con más sucursales." Los atributos de la tabla Sucursal ...
  #1 (permalink)  
Antiguo 01/02/2015, 23:04
 
Fecha de Ingreso: febrero-2015
Mensajes: 2
Antigüedad: 9 años, 2 meses
Puntos: 0
Consulta en mysql

Hola !!! Tengo que realizar esta consulta en mysql "3.6. Listar el nombre de la ciudad con más sucursales."

Los atributos de la tabla Sucursal son "idSucursal, nombreSucursal, ciudadSucursal"

Y esto es lo que llevo de la consulta:
"select ciudadSucursal, count(*) as numero
from Sucursal
group by ciudadSucursal;"

Segun yo, esto cuenta el numero de veces que se repite una Ciudad, pero ya no se como tomar la Ciudad con mas repeticiones.

Si alguien me podría ayudar lo agradecería mucho

Última edición por yuliyu; 02/02/2015 a las 09:59
  #2 (permalink)  
Antiguo 04/02/2015, 19:17
 
Fecha de Ingreso: mayo-2011
Mensajes: 47
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Consulta en mysql

Aplicale un limit <<numero de ciudades requeridos>> y un order by por el count de la ciudad
  #3 (permalink)  
Antiguo 04/02/2015, 19:49
Usuario no validado
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 16 años
Puntos: 16
Respuesta: Consulta en mysql

je... Te dejo más masticado lo que te ha puesto khryztall....

Código SQL:
Ver original
  1. CREATE TABLE Sucursal (idSucursal INT AUTO_INCREMENT, nombreSucursal VARCHAR(100), ciudadSucursal VARCHAR(100), PRIMARY KEY (idSucursal));
  2.  
  3. INSERT INTO Sucursal (nombreSucursal, ciudadSucursal) VALUES ('SUCURSAL I', 'CIUDAD A');
  4. INSERT INTO Sucursal (nombreSucursal, ciudadSucursal) VALUES ('SUCURSAL II', 'CIUDAD B');
  5. INSERT INTO Sucursal (nombreSucursal, ciudadSucursal) VALUES ('SUCURSAL III', 'CIUDAD A');
  6. INSERT INTO Sucursal (nombreSucursal, ciudadSucursal) VALUES ('SUCURSAL IV', 'CIUDAD A');
  7. INSERT INTO Sucursal (nombreSucursal, ciudadSucursal) VALUES ('SUCURSAL V', 'CIUDAD C');
  8. INSERT INTO Sucursal (nombreSucursal, ciudadSucursal) VALUES ('SUCURSAL VI', 'CIUDAD A');
  9. INSERT INTO Sucursal (nombreSucursal, ciudadSucursal) VALUES ('SUCURSAL VII', 'CIUDAD A');
  10. INSERT INTO Sucursal (nombreSucursal, ciudadSucursal) VALUES ('SUCURSAL VIII', 'CIUDAD B');
  11. INSERT INTO Sucursal (nombreSucursal, ciudadSucursal) VALUES ('SUCURSAL IX', 'CIUDAD C');
  12. INSERT INTO Sucursal (nombreSucursal, ciudadSucursal) VALUES ('SUCURSAL X', 'CIUDAD B');
  13. commit;
  14.  
  15. -- Litado de sucursales ordenando por ciudadSucursal para contar a mano la cantidad de registros por ciudad
  16. SELECT * FROM Sucursal ORDER BY ciudadSucursal;
  17.  
  18. -- El dato que han pedido
  19. SELECT a.ciudadSucursal AS CIUDAD_CON_MAXIMA_CANTIDAD_DE_SUCURSALES
  20. FROM (
  21.         SELECT ciudadSucursal, COUNT(*) AS N FROM Sucursal GROUP BY ciudadSucursal ORDER BY 2 DESC LIMIT 1
  22.       ) a;
  23.  
  24. -- Agregando el mínimo a la consulta
  25. SELECT a.ciudadSucursal AS CIUDAD_CON_MAXIMA_CANTIDAD_DE_SUCURSALES, b.ciudadSucursal AS CIUDAD_CON_MINIMA_CANTIDAD_DE_SUCURSALES
  26. FROM (
  27.         SELECT ciudadSucursal, COUNT(*) AS N FROM Sucursal GROUP BY ciudadSucursal ORDER BY 2 DESC LIMIT 1
  28.       ) a,
  29.     (
  30.         SELECT ciudadSucursal, COUNT(*) AS N FROM Sucursal GROUP BY ciudadSucursal ORDER BY 2 LIMIT 1
  31.       ) b
  32.    ;
  33.  
  34. -- Agregando el mínimo y de paso las cantidades máxima y mínima...
  35. SELECT a.ciudadSucursal AS CIUDAD_CON_MAXIMA_CANTIDAD_DE_SUCURSALES, a.N AS CANTIDAD_MAXIMA,
  36.         b.ciudadSucursal AS CIUDAD_CON_MINIMA_CANTIDAD_DE_SUCURSALES, b.N AS CANTIDAD_MINIMA
  37. FROM (
  38.         SELECT ciudadSucursal, COUNT(*) AS N FROM Sucursal GROUP BY ciudadSucursal ORDER BY 2 DESC LIMIT 1
  39.       ) a,
  40.     (
  41.         SELECT ciudadSucursal, COUNT(*) AS N FROM Sucursal GROUP BY ciudadSucursal ORDER BY 2 LIMIT 1
  42.       ) b
  43.    ;

Saludos,

PCID.

Última edición por pcid; 05/02/2015 a las 07:40 Razón: Colorear código en formato SQL
  #4 (permalink)  
Antiguo 05/02/2015, 12:09
 
Fecha de Ingreso: febrero-2015
Mensajes: 2
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Consulta en mysql

Muchas gracias por la ayuda :) !!!

Etiquetas: relacional
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 11:11.