¿Cómo utilizar `count` para contabilizar la cantidad de registros para distintos valores de un campo en mysql? – php mysql sql

Pregunta:


Resulta que tengo un campo llamado ESTADO en mi tabla.

En este campo hay varias estados de pedido que son: LOGÍSTICA, PACKING, PICKING, CARTERA, FACTURACIÓN Y FACTURADO.

Quiero saber si hay una forma de utilizar Count para contar cuantas veces se repite cada uno de los valores de mi campo ESTADO. Es decir, cuanto registros tengo en cada uno de los estados que mencioné.

Ayuda, por favor.

Este es el código que tengo hoy día.

$rs= mysqli_query($mysqli,"SELECT id, nombre_vendedor, codigo_vendedor, estado, DATE_FORMAT(fecha_pedido, '%Y-%m-%d'), COUNT(nombre_vendedor) FROM `pedidos` WHERE (estado IN('Logistica','Picking','Facturado','Packing','Cartera') OR ESTADO LIKE 'Facturacion Tarjeta%') AND DATE_FORMAT(fecha_pedido, '%Y-%m-%d') BETWEEN '$fecha_desde' AND '&fecha_hasta' AND codigo_vendedor LIKE '$row1[0]' GROUP BY nombre_vendedor");
        while ($row = mysqli_fetch_row($rs)){

            $row[2] == $row1[0];                    
            if ($row[3] == 'Logistica') {
                $row[3] = $log;
          substr_count($log);   
            }elseif ($row[3] == 'Picking') {
                $row[3] = $pic;
          strlen($pic);
            }elseif ($row[3] == 'Facturado') {
                $row[3] = $fac;
          substr_count($fac);
            }elseif ($row[3] == 'Packing') {
                $row[3] = $pac;
          substr_count($pac);
            }elseif ($row[3] == 'Cartera') {
                $row[3] = $car;
          substr_count($car);
            }elseif(strpos($row[4], 'Facturacion') !== false){
      $row[3] = $fact;
          substr_count($fact);
        }
       }

Preguntado por: Christian Dagnover

Arturo Belano Lima

Lo que deseas es contar la cantidad de elementos en cada estado de la base de datos que tienes (asumiendo que la columna se llama ‘estado’ y la tabla ‘pedidos’) puedes realizar lo siguiente:

SELECT estado,COUNT(*) as total FROM pedidos GROUP BY estado;

Lo que hará dicha consulta es seleccionar el campo ‘estado’ y mostrar cuántos hay con aquél mismo nombre (debido a que hacemos un ‘GROUP BY estado’ al final).

Puedes esperar que tu resultado sea algo así:

estado        total
-----         ------
'Logistica'   100
'Picking'     102
...

Hay un pequeño artículo que da un ejemplo de lo que quieres hacer en la siguiente dirección si es que te ayuda:

http://blog.aulaformativa.com/consultorio-desarrollo-web/

Fuente

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *