Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/04/2013, 07:27
Avatar de JuJoGuAl
JuJoGuAl
 
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: Promedio de Tiempos en MYSQL

No se como pasar las cosas con las etiquetas de MYSQL asi q te pondre la tabla:

Código MySQL:
Ver original
  1. -- phpMyAdmin SQL Dump
  2.  
  3. --
  4. -- Estructura de tabla para la tabla `for_tie_proc`
  5. --
  6.  
  7. CREATE TABLE IF NOT EXISTS `for_tie_proc` (
  8.   `id_tiempopro` int(5) unsigned zerofill NOT NULL AUTO_INCREMENT COMMENT 'ID de tabla de tiempo de Produccion',
  9.   `id_franquicia` int(5) unsigned zerofill NOT NULL COMMENT 'ID de la franquicia que registro la toma',
  10.   `id_factura` int(10) NOT NULL COMMENT 'ID de la factura de la medicion',
  11.   `turno` int(1) NOT NULL COMMENT '1=Matutino 2=Vespertino 3=Nocturno',
  12.   `tiempo_ent` time NOT NULL COMMENT 'Tiempo en que se REALIZA el pedido',
  13.   `status` int(1) NOT NULL COMMENT '1=SI (Cumplida) 2=NO (No Cumplida)',
  14.   `fec_med` date NOT NULL COMMENT 'Fecha y Hora en la que se REALIZO la medicion',
  15.   `fec_reg` datetime NOT NULL COMMENT 'Fecha y Hora en la que se REGISTRO la medicion',
  16.   PRIMARY KEY (`id_tiempopro`)
  17. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci COMMENT='Registros de Tiempo establecidos para los procesos' AUTO_INCREMENT=456 ;
  18.  
  19. --
  20. -- Volcado de datos para la tabla `for_tie_proc`
  21. --
  22.  
  23. INSERT INTO `for_tie_proc` (`id_tiempopro`, `id_franquicia`, `id_factura`, `turno`, `tiempo_ent`, `status`, `fec_med`, `fec_reg`) VALUES
  24. (00101, 00014, 14900, 2, '00:06:03', 1, '2013-03-18', '2013-03-18 17:37:24'),
  25. (00102, 00014, 14900, 2, '00:06:03', 1, '2013-03-18', '2013-03-18 17:37:26'),
  26. (00103, 00014, 14901, 2, '00:05:46', 1, '2013-03-18', '2013-03-18 17:37:42'),
  27. (00104, 00014, 14902, 2, '00:05:39', 1, '2013-03-18', '2013-03-18 17:38:51'),
  28. (00105, 00014, 14938, 3, '00:08:22', 1, '2013-03-18', '2013-03-18 18:40:29'),
  29. (00106, 00014, 14938, 2, '00:08:22', 1, '2013-03-18', '2013-03-18 18:43:05'),
  30. (00107, 00014, 14939, 2, '00:00:00', 1, '2013-03-18', '2013-03-18 18:43:05'),
  31. (00108, 00014, 14940, 2, '00:00:00', 1, '2013-03-18', '2013-03-18 18:43:05'),
  32. (00109, 00014, 14939, 3, '00:06:31', 1, '2013-03-18', '2013-03-18 18:44:06'),
  33. (00110, 00014, 14940, 3, '00:06:35', 1, '2013-03-18', '2013-03-18 18:44:06'),
  34. (00125, 00014, 15055, 2, '00:07:51', 1, '2013-03-19', '2013-03-19 20:31:37'),
  35. (00126, 00014, 15056, 2, '00:06:00', 1, '2013-03-19', '2013-03-19 20:31:37'),
  36. (00127, 00014, 15057, 2, '00:05:49', 1, '2013-03-19', '2013-03-19 20:31:37'),
  37. (00128, 00014, 15103, 3, '00:06:15', 1, '2013-03-19', '2013-03-19 20:31:37'),
  38. (00129, 00014, 15104, 3, '00:06:20', 1, '2013-03-19', '2013-03-19 20:31:37'),
  39. (00130, 00014, 15105, 3, '00:07:01', 1, '2013-03-19', '2013-03-19 20:31:37'),
  40. (00143, 00014, 15226, 2, '00:06:04', 1, '2013-03-20', '2013-03-20 18:28:45'),
  41. (00144, 00014, 15230, 2, '00:05:22', 1, '2013-03-20', '2013-03-20 18:28:45'),
  42. (00145, 00014, 15231, 2, '00:05:16', 1, '2013-03-20', '2013-03-20 18:28:45'),
  43. (00146, 00014, 15258, 3, '00:05:23', 1, '2013-03-20', '2013-03-20 18:28:45'),
  44. (00147, 00014, 15259, 3, '00:05:27', 1, '2013-03-20', '2013-03-20 18:28:45'),
  45. (00148, 00014, 15260, 3, '00:05:51', 1, '2013-03-20', '2013-03-20 18:28:45'),
  46. (00175, 00014, 15378, 2, '00:05:19', 1, '2013-03-21', '2013-03-21 19:51:00'),
  47. (00176, 00014, 15393, 2, '00:06:29', 1, '2013-03-21', '2013-03-21 19:51:00'),
  48. (00177, 00014, 15394, 2, '00:06:01', 1, '2013-03-21', '2013-03-21 19:51:00'),
  49. (00178, 00014, 15423, 3, '00:06:11', 1, '2013-03-21', '2013-03-21 19:51:00'),
  50. (00179, 00014, 15424, 3, '00:06:15', 1, '2013-03-21', '2013-03-21 19:51:00'),
  51. (00180, 00014, 15425, 3, '00:05:58', 1, '2013-03-21', '2013-03-21 19:51:00'),
  52. (00199, 00014, 15584, 3, '00:06:24', 1, '2013-03-22', '2013-03-22 18:37:49'),
  53. (00200, 00014, 15585, 3, '00:06:30', 1, '2013-03-22', '2013-03-22 18:37:49');

alli tengo los valores para una franquicia, cuando ejecuto el promedio en una parte se me pide el promedio x turno y lo hago asi:

Código MySQL:
Ver original
  1. SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(`tiempo_ent`))) as tiempotD FROM for_tie_proc WHERE (fec_med BETWEEN '".$f1."' AND '".$f2."') AND (id_franquicia='".$fr."') AND turno='2'

cambio el 2 o 3 dependiendo del turno, si hago un select (el de arriba) y pido el promedio por turno para el mes de MARZO obtengo esto:
MYSQL: 2=00:05:54 3=00:06:33
EXCEL: 2=00:06:01 3=00:06:32

y en otro reporte necesito el promedio Global asi que quito el condicional de los turnos:
Código MySQL:
Ver original
  1. (SELECT IFNULL(SEC_TO_TIME(AVG(TIME_TO_SEC(`tiempo_ent`))),'00:00:00') as tiempomes FROM for_tie_proc WHERE MONTH(fec_med) = '03' AND YEAR(fec_med) = '2013' AND (id_franquicia='14')) as tiempomes
donde tengo:
MYSQL: 00:06:13
EXCEL: 00:06:16

Disculpa si es tedioso leer esto :S