Contar filas de tablas específicas en mysql

Quiero contar cuántas filas tengo en una tabla mysql y mostrarla en html.

Por ejemplo:

Hay: artículo 1, artículo 2, artículo 3, artículo 4, artículo 5, artículo 6

Si el elemento 1 y el elemento 2 están llenos, quiero que un código html diga: 2 elementos en fila

¿algunas ideas?

preguntado el 09 de enero de 11 a las 12:01

cuál es el problema al usar Count(*) funcionar con Where ¿cláusula? -

No sé cómo usarlo 100% sry ... soy nuevo en esto -

5 Respuestas

puedes usar simple

Select count(*) from table

o si no quieres valores nulos

Select count(item) from table

Respondido el 09 de enero de 11 a las 15:01

SI lo que buscas son las filas totales, entonces, como Nishant mencionó anteriormente, podrías hacer algo como esto

$query = "SELECT COUNT(*) FROM mytable WHERE myfield='myvalue'"; 

Estoy contando todos los identificadores, porque reducirá el tiempo necesario para calcular el total en lugar de '*' y

Gracias a Nico, count (*) y count (columna) no son tan diferentes considerando el rendimiento. Aquí hay una comparación

Use una condición where para reducir su total según lo requiera.

Respondido el 09 de enero de 11 a las 16:01

COUNT(column) y COUNT(*) no necesariamente tienen diferentes rendimientos, es muy específico de la base de datos. En algunos casos COUNT(*) en realidad, puede ser más rápido. Ver stackoverflow.com/questions/1697137/countid-vs-count-in-mysql - nico

Gracias por aclarar eso, Nico, solía pensar que era más rápido. - Starx

Si desea contar solo las filas que son lleno (es decir, que son no nulo), debe agregar una pequeña cláusula WHERE o especificar la columna de interés en el count() función:

  • usando donde

    SELECCIONE el recuento (*) DE mytable DONDE fieldx NO ES NULO

  • especificando el campo de interés

    SELECCIONAR recuento (campox) DE mytable

en esta última solución, count() solo tendrá en cuenta no nulo campox valores.

Respondido el 09 de enero de 11 a las 16:01

Puede obtener el número de filas de su consulta usando la función mysql_num_rows ().

Entonces, si tiene una instrucción SELECT (para seleccionar los elementos que desea), solo tiene que llamar a mysql_num_rows () después de realizar la consulta. Ejemplo de php.net:

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

Respondido el 09 de enero de 11 a las 15:01

MÁS NUEVO hazlo de esta manera, muchacho. Si necesita un número, solicite exactamente ese número, no TODAS las filas para contarlo más tarde. - Tu sentido común

¿A qué te refieres con lleno? De todos modos, si por 'relleno' quiere decir que algún campo específico tiene un valor NO NULO, podría hacer algo como esto:

$sqlConn = new mysqli('host', 'user', 'password', 'database');
$sqlConn->query('SELECT * FROM table WHERE field1 IS NOT NULL AND field2 IS NOT NULL');
echo 'You have ' . $sqlConn->affected_rows . ' rows.';

Espero eso ayude.

Respondido el 09 de enero de 11 a las 15:01

Esa es una forma muy intrincada de hacer un SELECT COUNT(*) - nico

Tienes razón, supuse erróneamente que también necesitaba extraer los datos de la tabla, tarde o temprano. - El monje de la codificación

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.