Página 1 de 1

Función count - duda

NotaPublicado: Lun Ago 10, 2015 1:08 am
por FranStoker
Hola, he comprado el libro y debo decir que me parece excelente.

Pero tengo una duda a la hora de mirar las soluciones de los ejercicios que aparecen en el mismo. Y es que por ejemplo, para el ejercicio 3 de la página 144 del libro, donde yo uso

count (ID_ALUMNO), para que me cuente todos los campos que no sean nulos (que no puede serlo por la especificación de campo, pero es por acostumbrarme a su uso).

Sin embargo, el autor en las soluciones utiliza:

count(1)

¿Qué significa esto? De las dos formas sale bien, pero no encuentro solución en el libro. Me ha dejado un poco desconcertado.

Gracias y un saludo.

Re: Función count - duda

NotaPublicado: Mar Ago 11, 2015 2:06 pm
por Pere
Hola.

Se presenta la solución con "count(1)" para mostrar más recursos del lenguaje, en realidad lo que está contando son registros, tal como hace count(*), si ponemos un campo en la función count, contará los registros cuyo valor del campo no es nulo, si ponemos una constante que no sea null, como es el caso, contará registros puesto que en ningún registro será nulo.

Se ha puesto "count(1)" pero podría haberse puesto "count(45)" o "count('hola mundo')" con idéntico propósito.

Espero haber resuelto tu duda

gracias por la compra.

Re: Función count - duda

NotaPublicado: Sab Ago 15, 2015 1:26 am
por FranStoker
Ah ok, entonces, lo que le da a count la facultad de contar todos los registros no es el asterisco, sino la omisión de la cláusula WHERE, ¿no es así? Sean nulos o no.

Eso entiendo de tu post y de la página 100 del libro.

Re: Función count - duda

NotaPublicado: Lun Ago 17, 2015 10:24 am
por Pere
Bueno el asterisco es un comodín que equivale a decir todos los campos, y sí, lo que determina el numero de registros es la cláusula WHERE, si se omite se seleccionan todos los registros.

gracias