Listado completo de tutoriales

35 - Contar registros (count_big)


Ver video

Retorna la cantidad de registros. Es similar a la función "count(*)", la diferencia es que "count_big" retorna un valor "bigint" y "count", un "int".

"count_big(*)" cuenta la cantidad de registros de una tabla, incluyendo los valores nulos y duplicados.

"count_big(CAMPO)" retorna la cantidad de registros cuyo valor en el campo especificado entre paréntesis no es nulo.

"count_big(distinct CAMPO)" retorna la cantidad de registros cuyo valor en el campo especificado no es nulo, sin considerar los repetidos.

Averiguemos la cantidad de libros usando la función "count_big()":

 select count_big(*)
  from libros;

Note que incluye todos los libros aunque tengan valor nulo en algún campo.

Contamos los libros de editorial "Planeta":

 select count_big(*)
  from libros
  where editorial='Planeta';

Contamos los registros que tienen precio (sin tener en cuenta los que tienen valor nulo):

 select count_big(precio)
  from libros;

Contamos las editoriales (sin repetir):

 select count_big(distinct editorial)
  from libros;

Servidor de SQL Server instalado en forma local.

Ingresemos el siguiente lote de comandos en el SQL Server Management Studio:

if object_id ('libros') is not null
  drop table libros;

create table libros(
  codigo int identity,
  titulo varchar(40) not null,
  autor varchar(20) default 'Desconocido',
  editorial varchar(20),
  precio decimal(6,2),
  primary key(codigo)
);

insert into libros values('El aleph','Borges','Emece',15.90);
insert into libros values('Antología poética','Borges','Planeta',null);
insert into libros values('Alicia en el pais de las maravillas','Lewis Carroll',null,19.90);
insert into libros values('Matematica estas ahi','Paenza','Siglo XXI',15);
insert into libros values('Martin Fierro','Jose Hernandez',default,40);
insert into libros values('Aprenda PHP','Mario Molina','Nuevo siglo',null);
insert into libros values('Uno','Richard Bach','Planeta',20);

select count_big(*)
  from libros;

select count_big(*)
  from libros
  where editorial='Planeta';

select count_big(precio)
  from libros;

-- Contamos las editoriales (sin repetir):
select count_big(distinct editorial)
  from libros;

Retornar