Principales sentencias SQL

6/33
Recursos
Transcripción

Aportes 20

Preguntas 5

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

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 “platzimovies”
  3. dan click derecho en la base de datos nueva llamada “platzimovies” 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

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:

Programación en SQL con PostgreSQL

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

Muy buen repaso, faltó únicamente el LIMIT y el HAVING

Al momento de realizar la restauración de la base de datos “platzimovies”, 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/

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.

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