6 messages in com.mysql.lists.mysql-esRE: problema too many conecctions
FromSent OnAttachments
Leonardo Aguilar10 Oct 2006 07:29 
Alvaro Cobo10 Oct 2006 09:58 
Leandro Oliveri10 Oct 2006 10:03 
Alvaro Cobo10 Oct 2006 11:10 
Roger Martinez11 Oct 2006 02:41 
Jesús Gómez11 Oct 2006 03:17 
Subject:RE: problema too many conecctions
From:Roger Martinez (roge@hotmail.com)
Date:10/11/2006 02:41:40 AM
List:com.mysql.lists.mysql-es

Eso pasa porque dejas conexiones abiertas, sin cerrar, entonces llegas al maximo numero de conexiones y el servidor se satura, como no permite ninguna conexion mas no hay mas remedio que reiniciar el server. Asegurate de cerrar siempre todas las conexiones cuando no las necesitas y si necesitas mas conexiones lo puedes configurar.

Roger.

From: "Leonardo Aguilar" <lagu@catie.ac.cr>

To: <mysq@lists.mysql.com> Subject: problema too many conecctions Date: Tue, 10 Oct 2006 15:29:41 +0100

HOla compañeros de la lista.

Tengo el siguiente problema, cuando trato de conetarme recibo el mensaje "too many conections". Trato de usar el control center o mysql adminsitrador para ir a ver las coneciones activas para eliminarlas y nisiquiera me puedo conectar...

si alguien me puede orientar se lo agradezco

Estimad@s amig@s:

Tengo un dilema que no logro resolver. Tengo dos tablas. Una de ellas almacena créditos y los años en que han sido otorgados. La otra almacena datos de familias que han recibido los créditos y además incluye el número de hombres y mujeres en cada familia. Cada familia puede participar en mas de un crédito.

La consulta que necesito obtener es: Suma de hombres y mujeres de las familias que han participado de algún crédito durante cada año.

SELECT credito.anio, Sum(familia.hombres) AS Total_Hombres, Sum(familia.mujeres) AS Total_Mujeres FROM credito LEFT JOIN familia ON credito.id_familia = familia.id_familia GROUP BY credito.anio;

+------+---------------+---------------+ | anio | Total_Hombres | Total_Mujeres | +------+---------------+---------------+ | 2005 | 21 | 23 | | 2006 | 11 | 9 | +------+---------------+---------------+

El caso es que, como las familias pueden participar en más de un crédito, al hacer la suma, las filas de las familias se duplican y la suma resulta demasiado alta (Total hombres en realidad debería ser 12), por lo que se necesita hacer alguna suerte de DISTINCT, que nos permita sumar las familias por una sola vez. He intentado de todo y nada.

Espero haberme explicado. Por favor avísenme si necesitan alguna aclaración.

Les agradezco mucho.

Alvaro

MySQL version 5.0.17 SO: Debian Sarge.

Tabla de ejemplo. Base de datos test.

CREATE TABLE `familia` ( `id_familia` int(11) NOT NULL auto_increment, `nombre_familia` varchar(60) NOT NULL, `hombres` int(11) NOT NULL, `mujeres` int(11) NOT NULL, PRIMARY KEY (`id_familia`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

INSERT INTO `familia` VALUES (1, 'Perez', 2, 3); INSERT INTO `familia` VALUES (2, 'Suarez', 5, 3); INSERT INTO `familia` VALUES (3, 'Sanchez', 6, 6); INSERT INTO `familia` VALUES (4, 'Montalvo', 4, 5); INSERT INTO `familia` VALUES (5, 'Cobo', 4, 3); INSERT INTO `familia` VALUES (6, 'Larrea', 1, 3);

CREATE TABLE `credito` ( `anio` year(4) NOT NULL, `id_credito` int(11) NOT NULL auto_increment, `id_familia` int(11) NOT NULL, PRIMARY KEY (`id_credito`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

INSERT INTO `credito` VALUES (2005, 1, 1); INSERT INTO `credito` VALUES (2005, 2, 1); INSERT INTO `credito` VALUES (2005, 3, 1); INSERT INTO `credito` VALUES (2005, 4, 3); INSERT INTO `credito` VALUES (2005, 5, 4); INSERT INTO `credito` VALUES (2005, 6, 2); INSERT INTO `credito` VALUES (2006, 7, 2); INSERT INTO `credito` VALUES (2006, 8, 3);