[ Foro de SQL (y MySQL) ]

Contar todos los registros de una tabla

27-Nov-2015 15:05
Invitado (Jorge)
1 Respuestas

Estimados

Tengo que sber la totalidad de registros de una tabla, pero el problema en que no tengo  es que COUNT(*) me pide que incluya la sentencia GROUP BY y no tengo un campo por el cual me agrupe toda la tabla. Ejemplo.

Tabla
Campo1      Campo2
a                           1
b                           1
b                           2
c                          3

Si realizo COUNT(*) GROUP BY Campo1 me devuelve
a  1
b  2
c  1
Si realizo COUNT(*) GROUP BY Campo2 me devuelve
2     1
1     2
1     3

Y lo que yo necesito es que me devuelva el numero 4.
Como debo hacer?

Mil gracias
Jorge


28-Nov-2015 01:05
Nacho Cabanes (+83)

Si te debe devolver sólo el número 4, basta con un


SELECT COUNT(*) FROM tabla


No debes agrupar por nada, porque entonces no te mostrará el total de registros, sino los subtotales para ese campo de agrupación.

Si de verdad quieres que uses GROUP BY, cosa que me parece bastante absurda, debería ser un "agrupar por nada" (totalmente redundante y que disminuye la legibilidad), así:


SELECT COUNT(*) FROM tabla GROUP BY NULL


 






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)