Listado completo de tutoriales
35 - Contar registros (count_big) |
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;
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;