Ver Mensaje Individual
  #1  
Antiguo 14-03-2013
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Reputación: 16
lmpadron Va por buen camino
Contar los registros visibles cuando se usa GROUP BY

Hola comunidad

Tengo una tabla de la cual necesito obtener cierta informacion. Dicha informacion la obtengo usando
un GROUP BY pero el problema es que necesito solo saber el numero de registros y al usar COUNT(*) se
me cuentan todos los registros. para que se vea mejor he decidido postear una tabla mas sencilla
donde a simple vista se vea el resultado. En esta tabla hay varios registros por turno, por fecha.
Lo que quiero es saber cuantos turnos se trabajaron por fecha pero sin los repetidos o sea para una
fecha X solo pueden trabajarse 3 turnos el 1 el 2 y el 3, aunque hallan varios 1 o 2 o 3.
Al usar en la tabla de abajo esta sentencia
Código SQL [-]
SELECT * FROM `test`.`esquema` WHERE conv = 1 GROUP BY fecha, turno;
Obtengo 6 registros con los Ids 1, 4, 7, 10, 11, 12 que son los que debo obtener, pero esta
sentencia sql forma parte de otra mucho mas compleja por lo que esta solo debe devolverme el
total de registros, sin embargo al usar un COUNT(*) me cuenta todos los registros , los que se
ven y los que no . Me imagino esto sea por el funcionamiento del GROUP BY . Alguna idea de como
obtener el numero de registros ???

Gracias por la ayuda !!!


Código SQL [-]
DROP TABLE IF EXISTS `esquema`;
CREATE TABLE `esquema` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `conv` varchar(45) NOT NULL,
  `orden` varchar(45) NOT NULL,
  `fecha` varchar(45) NOT NULL,
  `turno` varchar(45) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `esquema`
--

/*!40000 ALTER TABLE `esquema` DISABLE KEYS */;
INSERT INTO `esquema` (`id`,`conv`,`orden`,`fecha`,`turno`) VALUES 
 (1,'1','1','2013-03-11','1'),
 (2,'1','2','2013-03-11','1'),
 (3,'1','3','2013-03-11','1'),
 (4,'1','4','2013-03-11','2'),
 (5,'1','5','2013-03-11','2'),
 (6,'1','6','2013-03-11','2'),
 (7,'1','7','2013-03-11','3'),
 (8,'1','8','2013-03-11','3'),
 (9,'1','9','2013-03-11','3'),
 (10,'1','10','2013-03-12','1'),
 (11,'1','11','2013-03-12','2'),
 (12,'1','12','2013-03-13','3');
/*!40000 ALTER TABLE `esquema` ENABLE KEYS */;
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita