Función count - duda

Para debatir interrogar o exponer cualquier duda o sugerencia sobre el curso SQL desde cero.

Función count - duda

Notapor FranStoker » Lun Ago 10, 2015 1:08 am

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.
FranStoker
 
Mensajes: 9
Registrado: Dom Jul 12, 2015 11:53 pm

Re: Función count - duda

Notapor Pere » Mar Ago 11, 2015 2:06 pm

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.
Pere
 
Mensajes: 73
Registrado: Mar Feb 02, 2010 9:44 pm

Re: Función count - duda

Notapor FranStoker » Sab Ago 15, 2015 1:26 am

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.
FranStoker
 
Mensajes: 9
Registrado: Dom Jul 12, 2015 11:53 pm

Re: Función count - duda

Notapor Pere » Lun Ago 17, 2015 10:24 am

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
Pere
 
Mensajes: 73
Registrado: Mar Feb 02, 2010 9:44 pm


Volver a Soporte SQL desde cero

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado