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 31

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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

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

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.

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

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

;

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 “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/

```ts SELECT MAX(ultima_actualizacion) AS "Ultima Versión", clasificacion, COUNT (*) AS "Cantidad Peliculas" FROM peliculas WHERE duracion_renta > 3 GROUP BY clasificacion, ultima_actualizacion ORDER BY "Ultima Versión" ```
Para ver el diagrama entidad-relación de la base de datos `platzimovies` 1. Clic derecho sobre la base de datos `platzimovies` 2. Seleccionar la opción "EDR for database" pgAdmin abrira una pestaña interactiva con el diagrama de entidad de relación de la base de datos. ![](https://res.cloudinary.com/dmwsbri4c/image/upload/v1715907059/platimovies_edr.png) Espero este aporte les sea de ayuda 💚
Para restaurar la base desde SQL Shell: 1. Nos localizamos en la base platzimovies: \c platzimovies (o la creamos si no existe) 2. Restauramos desde la consola con el siguiente comando: \i 'dirección en donde se localiza el .sql' Con esos paso tendremos la estructura de la base.
🌹🌹

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 

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: “A 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