Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Principales sentencias SQL

6/34
Recursos

Aportes 28

Preguntas 6

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Recuerden que para abrir esta base de datos deben seguir los siguientes pasos:

  1. Descargan la base de datos platzimovies en formato .tar que esta en esta url = https://drive.google.com/file/d/1oE7A4z_D2o-udn_yflwZ03uN3cA0gVpr/view
  2. en el servidor de postgres crean una nueva base de datos con el nombre 鈥減latzimovies鈥
  3. dan click derecho en la base de datos nueva llamada 鈥減latzimovies鈥 y eligen restore
  4. en format = "custom or tar "y en Filenime dan click en (鈥)
  5. aparece la ventana Select File eligen la ruta del archivo tar que descargaron
  6. en la parte de format eligen All files para que les aparezca el archivo, luego select y restore

finalmente queda importada la base de datos platzivideos

隆Pilas con la funci贸n count() !

  • Count(*) : Cuenta la cantidad de registros (Cantidad de filas) de la consulta (todas, sin discriminar si son duplicados).

  • Count(Distinct <Campo objetivo >) : Cuenta la cantidad distinta de registros de la consulta (discriminando duplicados, considerando solo los campos 煤nicos).

Ejemplo:

select Count(*) from public.pagos;
--resultado: 14596

select Count(cliente_id) from public.pagos;
--resultado: 14596

select Count(distinct cliente_id) from public.pagos;
--resultado: 599

PD: tengamos presente que seg煤n la bd que utilicemos puede ser considerado, o no, los campos nulos. Siempre esta bueno verificar lo que puede parecer obvio, cuando pasas de un motor de bd a otro.

Buen ejemplo pero creo que el MAX sobre ultima_actualizacion no ser铆a necesario dado que se usa m谩s adelante en el GROUP BY.

Este es la clase de instalaci贸n de PostgreSQL:
https://platzi.com/clases/1480-postgresql/24177-instalacion-y-configuracion-de-la-base-de-datos/

Pero recomiendo que ya tengan conocimientos o hayan llevado el curso.

ufff que buena clase!! Fundamentos de SQL en 6 minutos

Programaci贸n en SQL con PostgreSQL

https://www.um.es/geograf/sigmur/sigpdf/postgresql.pdf

Hola les comparto este otro programa alternativo a pgadmin
https://www.beekeeperstudio.io/
A mi me ha gustado mucho ya que es ligero y maneja distintos motores (mongo,oracle,postgres y otros m谩s) . Ademas la interfaz es muy buena.

Sali贸 bien el c贸digo:

SELECT 	MAX(ultima_actualizacion) AS fecha_ultima_actualizacion,
		clasificacion,
		COUNT (*) AS cantidad_peliculas
FROM	peliculas
WHERE 	duracion_renta > 3
GROUP BY 	clasificacion, ultima_actualizacion
ORDER BY 	fecha_ultima_actualizacion;

Me pongo contento que el c贸digo se haya ejecutado de 10:

Muy buen repaso, falt贸 煤nicamente el LIMIT y el HAVING

Para tener en cuenta. En ORDER BY el orden por defecto es ascendente pero si se desea lo contrario entonces se debe especificar DESC despues del nombre del campo en ORDER BY

Me parece que el ejemplo debia ser de la siguiente manera :

SELECT MAX(ultima_actualizacion) AS fecha_ultima_actualizacion, 
	clasificacion, COUNT(*) AS cantidad_peliculas
FROM peliculas
WHERE duracion_renta > 3
GROUP BY clasificacion
ORDER BY fecha_ultima_actualizacion, clasificacion
sin la agrupacion por ultima_actualizacion ya que anula el uso del Max.

Al momento de realizar la restauraci贸n de la base de datos 鈥減latzimovies鈥, me salia este error .
Ten铆a pgAdminIII

Error file "couldn't be moved (error 2: No such file or directory)

Encontr茅 la soluci贸n en:

https://stackoverflow.com/questions/39796268/errno-2-no-such-file-or-directory-when-trying-to-backup-a-database-in-pgadmi

Ah铆 explican que es debido a que en pgAdminIII hacen la restauraci贸n con este comando

$ pg_restore -d <DBNAME> --username=postgres g=<FILENAME> 

Lo que genera el error :

pg_restore: [archiver] could not open input file "g=<FILENAME>": No such file or directory

y en pgAdmin4 cambiaron a :

$ pg_restore -d <DBNAME> --username=postgres <FILENAME>

Por lo que puedes ejecutarlo desde la terminal a煤n con pgAdmin3 o simplemente cambiar a pgAdmin4

https://www.pgadmin.org/download/

馃尮馃尮

La query del ejemplo tiene varias inconcistencias, en donde se utiliza una funci贸n de agregaci贸n max, pero se agrupa por ultima_actualizaci贸n y luego se agrupa por la funcion de agregaci贸n nuevamente:

select max(ultima_actualizacion) as fecha_ultima_actualizacion,
	clasificacion,
	count(*) as cantidad_peliculas
	from peliculas
where duracion > 3
group by clasificacion, ultima_actualizacion
order by fecha_ultima_actualizacion

Una forma m谩s clara y l贸gica de realizar la query:

select ultima_actualizacion,
	clasificacion,
	count(*) as cantidad_peliculas
	from peliculas
where duracion > 3
group by ultima_actualizacion, clasificacion
order by ultima_actualizacion 

Estoy trabajando con MySQL y no tengo la posibilidad de hacer restore. La solucion que encontre es modificar los archivos a .csv e importarlos directamente.
Hay que crear las tablas previamente ya que los documentos no traen headers

6. Principales sentencias SQL

SELECT MAX(ultima_actualizacion) AS fecha_ultima_actualizacion,
		clasificacion,
		COUNT(*) AS cantidad_peliculas
FROM 	peliculas
WHERE 	duracion_renta > 3
GROUP BY 	clasificacion, ultima_actualizacion
ORDER BY 	fecha_ultima_actualizacion

;

muy buen repaso

yo si de verdad quiero saber como crearon las descripciones de las peliculas, 1000 descripciones y no son texto aleatorio, por ejemplo: la pelicula: Ace Goldfinger: 鈥淎 Astounding Epistle of a Database Administrator And a Explorer who must Find a Car in Ancient China鈥

Asi funciona tambien:

SELECT ultima_actualizacion, clasificacion,
            COUNT(*) AS cantidad_peliculas 
FROM peliculas
WHERE duracion_renta > 3
GROUP BY clasificacion, ultima_actualizacion
ORDER BY ultima_actualizacion;  

aqui les dejo como hacer el restore de la base de datos usando
Docker

Falto agregar a HAVING y recomendaciones al momento de agrupar

Para aquellos quienes no le guste pgadmin o tengan problemas para restaurar lo puede hacer creando primero la base datos platzimovies con psql:

CREATE DATABASE platzimovies;

luego en la terminal vamos a :

cd /Applications/Postgres.app/Contents/Versions/latest/bin

el path lo pueden hallar utlizando:

which psql

luego estando en dicha ruta escribimos la siguiente linea de c贸digo.

pg_restore --dbname=platzimovies --create --verbose rutadelbackup

En este link pueden encontrar parte de la anterior informaci贸n.
PostgreSQL Restore Database

Empecemos

interesante

Me parece genial este curso, justo cambie de proyecto en donde trabajan con JAVA SPRING BOOT y POSTGRESQL

En este enlace pueden descargar el backup, si tienen problemas con la importaci贸n les recomiendo tener la versi贸n 12 de postgreSQL

https://drive.google.com/file/d/1oE7A4z_D2o-udn_yflwZ03uN3cA0gVpr/view

SELECT MAX(ultima_actualizacion) AS fecha_ultima_actualizacion, clasificacion, COUNT(*) AS cantidad_peliculas
FROM peliculas
WHERE duracion_renta > 3
GROUP BY clasificacion, ultima_actualizacion
ORDER BY fecha_ultima_actualizacion