34 - Registros duplicados (distinct) |
Una empresa tiene registrados sus clientes en una tabla llamada "clientes". 1- Créela con la siguiente estructura: create table clientes ( codigo serial, nombre varchar(30) not null, domicilio varchar(30), ciudad varchar(20), provincia varchar (20), primary key(codigo) ); 2- Ingrese algunos registros: insert into clientes(nombre,domicilio,ciudad,provincia) values ('Lopez Marcos','Colon 111','Cordoba','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Perez Ana','San Martin 222','Cruz del Eje','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Garcia Juan','Rivadavia 333','Villa del Rosario','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Perez Luis','Sarmiento 444','Rosario','Santa Fe'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Pereyra Lucas','San Martin 555','Cruz del Eje','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Gomez Ines','San Martin 666','Santa Fe','Santa Fe'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Torres Fabiola','Alem 777','Villa del Rosario','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Lopez Carlos',null,'Cruz del Eje','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Ramos Betina','San Martin 999','Cordoba','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Lopez Lucas','San Martin 1010','Posadas','Misiones'); 3- Obtenga las provincias sin repetir (3 registros) 4- Cuente las distintas provincias. 5- Se necesitan los nombres de las ciudades sin repetir (6 registros) 6- Obtenga la cantidad de ciudades distintas. 7- Combine con "where" para obtener las distintas ciudades de la provincia de Cordoba (3 registros) 8- Contamos las distintas ciudades de cada provincia empleando "group by" (3 registros)Ver solución
create table clientes ( codigo serial, nombre varchar(30) not null, domicilio varchar(30), ciudad varchar(20), provincia varchar (20), primary key(codigo) ); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Lopez Marcos','Colon 111','Cordoba','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Perez Ana','San Martin 222','Cruz del Eje','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Garcia Juan','Rivadavia 333','Villa del Rosario','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Perez Luis','Sarmiento 444','Rosario','Santa Fe'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Pereyra Lucas','San Martin 555','Cruz del Eje','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Gomez Ines','San Martin 666','Santa Fe','Santa Fe'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Torres Fabiola','Alem 777','Villa del Rosario','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Lopez Carlos',null,'Cruz del Eje','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Ramos Betina','San Martin 999','Cordoba','Cordoba'); insert into clientes(nombre,domicilio,ciudad,provincia) values ('Lopez Lucas','San Martin 1010','Posadas','Misiones'); select distinct provincia from clientes; select count(distinct provincia) as cantidad from clientes; select distinct ciudad from clientes; select count(distinct ciudad) from clientes; select distinct ciudad from clientes where provincia='Cordoba'; select provincia,count(distinct ciudad) from clientes group by provincia;
La provincia almacena en una tabla llamada "inmuebles" los siguientes datos de los inmuebles y sus propietarios para cobrar impuestos. 1- Créela con la siguiente estructura: create table inmuebles ( documento varchar(8) not null, apellido varchar(30), nombre varchar(30), domicilio varchar(20), barrio varchar(20), ciudad varchar(20), tipo char(1),--b=baldio, e: edificado superficie decimal (8,2) ); 3- Ingrese algunos registros: insert into inmuebles values ('11000000','Perez','Alberto','San Martin 800','Centro','Cordoba','e',100); insert into inmuebles values ('11000000','Perez','Alberto','Sarmiento 245','Gral. Paz','Cordoba','e',200); insert into inmuebles values ('12222222','Lopez','Maria','San Martin 202','Centro','Cordoba','e',250); insert into inmuebles values ('13333333','Garcia','Carlos','Paso 1234','Alberdi','Cordoba','b',200); insert into inmuebles values ('13333333','Garcia','Carlos','Guemes 876','Alberdi','Cordoba','b',300); insert into inmuebles values ('14444444','Perez','Mariana','Caseros 456','Flores','Cordoba','b',200); insert into inmuebles values ('15555555','Lopez','Luis','San Martin 321','Centro','Carlos Paz','e',500); insert into inmuebles values ('15555555','Lopez','Luis','Lopez y Planes 853','Flores','Carlos Paz','e',350); insert into inmuebles values ('16666666','Perez','Alberto','Sucre 1877','Flores','Cordoba','e',150); 3- Muestre los distintos apellidos de los propietarios, sin repetir (3 registros) 4- Muestre los distintos documentos de los propietarios, sin repetir (6 registros) 5- Cuente, sin repetir, la cantidad de propietarios de inmuebles de la ciudad de Cordoba (5) 6- Cuente la cantidad de inmuebles con domicilio en 'San Martin', sin repetir la ciudad (2) 7- Muestre los apellidos y nombres, sin repetir (5 registros) Note que hay 2 personas con igual nombre y apellido que aparece una sola vez. 8- Muestre la cantidad de inmuebles que tiene cada propietario agrupando por documento, sin repetir barrio (6 registros)
create table inmuebles ( documento varchar(8) not null, apellido varchar(30), nombre varchar(30), domicilio varchar(20), barrio varchar(20), ciudad varchar(20), tipo char(1),--b=baldio, e: edificado superficie decimal (8,2) ); insert into inmuebles values ('11000000','Perez','Alberto','San Martin 800','Centro','Cordoba','e',100); insert into inmuebles values ('11000000','Perez','Alberto','Sarmiento 245','Gral. Paz','Cordoba','e',200); insert into inmuebles values ('12222222','Lopez','Maria','San Martin 202','Centro','Cordoba','e',250); insert into inmuebles values ('13333333','Garcia','Carlos','Paso 1234','Alberdi','Cordoba','b',200); insert into inmuebles values ('13333333','Garcia','Carlos','Guemes 876','Alberdi','Cordoba','b',300); insert into inmuebles values ('14444444','Perez','Mariana','Caseros 456','Flores','Cordoba','b',200); insert into inmuebles values ('15555555','Lopez','Luis','San Martin 321','Centro','Carlos Paz','e',500); insert into inmuebles values ('15555555','Lopez','Luis','Lopez y Planes 853','Flores','Carlos Paz','e',350); insert into inmuebles values ('16666666','Perez','Alberto','Sucre 1877','Flores','Cordoba','e',150); select distinct apellido from inmuebles; select distinct documento from inmuebles; select count(distinct documento) from inmuebles where ciudad='Cordoba'; select count(ciudad) from inmuebles where domicilio like 'San Martin %'; select distinct apellido,nombre from inmuebles; select documento,count(distinct barrio) as cantidad from inmuebles group by documento;