0% encontró este documento útil (0 votos)
40 vistas3 páginas

Consultas SQL sobre estaciones y viajes

Este documento contiene una serie de consultas SQL a las tablas stations y trips de una base de datos de alquiler de bicicletas. Se realizan consultas básicas como seleccionar, filtrar, ordenar y agrupar datos, así como cálculos estadísticos como promedios, máximos, mínimos y conteos para analizar el uso y distribución de las estaciones y viajes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas3 páginas

Consultas SQL sobre estaciones y viajes

Este documento contiene una serie de consultas SQL a las tablas stations y trips de una base de datos de alquiler de bicicletas. Se realizan consultas básicas como seleccionar, filtrar, ordenar y agrupar datos, así como cálculos estadísticos como promedios, máximos, mínimos y conteos para analizar el uso y distribución de las estaciones y viajes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

--¿Cuánto es 25 * 8?

-- Ejercicios de consulta sobre la BD [Link]

-- *********************
-- Con la tabla stations
-- *********************

select (25 * 8);

-- Pero ponle el nombre al campo, que diga «Cálculo»


select (25 * 8) AS "Cálculo";

-- Muestra todos los registros de la tabla stations


select * from stations;

-- Muestra el id y station de la tabla stations


select id, station from stations;

-- Muestra el registro con id = 3


select id, station from stations where id = 3;

-- Muestra los registros con un id entre 5 y 8


select id, station from stations where id between 5 and 8;

-- Muestra los registros con el id 8, 25, 60 y 130


select id, station from stations where id in (8, 25, 60, 130);

-- Muestra los registros cuyo id no esté entre 4 y 140


select id, station from stations where id not between 4 and 140;

-- ¿Y cuales serían los id, station y municipios para las station que empiezan por L?
select id, station, municipality from stations where station like 'L%';

-- ¿Y los que empiezan por L, seguidos de cualquier caracter y luego una n?


select id, station, municipality from stations where station like 'L_n%';

-- Muestra las estaciones ordenadas por municipality, de forma descendente


select station from stations order by municipality DESC;

-- Y que ponga «Ayuntamiento» en vez de «municipality» en el encabezado


select station, municipality AS "Ayuntamiento" from stations order by municipality
DESC;

-- Muestra sólo 5 registros de la tabla


select station, municipality AS "Ayuntamiento" from stations order by municipality
DESC limit 5;

-- ¿Cuales serán los 5 registros con el mayor valor de id?


select id, station from stations order by id ASC limit 5;

-- ¿Cual es el máximo valor de id?


select max(id) from stations;

-- ¿Y el mínimo valor de lat (latitud)?


select min(lat) from stations;

-- ¿Cual es la station que está más al sur?


-- Latitud -> menor valor
select min(lat) from stations;
-- ¿Cual es el valor medio de latitud?
select avg(lat) from stations;

-- Muestra una tabla con municipality y el número de stations en cada una


select municipality, count(station) from stations group by municipality;

-- Muestra la tabla anterior, pero ordenada de mayor a menor cantidad de estaciones


select municipality, count(station) numero_total from stations group by municipality
order by numero_total DESC;

-- Qué municipio es el que tiene mayor número de estaciones?


select municipality, count(station) numero_total from stations group by municipality
order by numero_total DESC limit 1;

-- Muestra los municipios que al menos tienen 25 estaciones


select municipality, count(station) numero_total from stations group by municipality
having numero_total > 25;

-- Muestra los municipios, y la cantidad de estaciones. Pero sólo los municipios que
su nombre empieza por B
select municipality, count(station) numero_total from stations where municipality like
'B%' group by municipality;

-- Muestra los municipios con la cantidad de estaciones que tienen. Pero sólo los
municipio cuyo nombre empieza por B y las estaciones que empiezan por L
select municipality, count(station) numero_total from stations where municipality like
'B%' and station like 'L%' group by municipality;

-- Muestrame una tabla, con un solo valor que se llame «Texto» y que diga «El
municipio $municipality tiene $stations estaciones de alquiler». Sustituyendo
$municipality y $stations por los valores de los campos correspondientes.
select 'El municipio ' || municipality || ' tiene ' || count(station) || '
estaciones de alquiler' from stations group by municipality;

-- *********************
-- Con la tabla trips
-- *********************

-- ¿Cual fue el viaje más largo?


-- El viaje con la duración más larga (no será lo mismo que el id del viaje más largo)
select max(duration) from trips;

-- ¿Y el más corto?
select min(duration) from trips;

-- ¿Cuantos viajes se han realizado?


select count(id) from trips;

-- ¿Cual es la media de la duración de los viajes?


select avg(duration) from trips;

-- Y si tienes en cuenta sólo los viajes reales (supongamos que son los que duran más
de 1 minuto)
select avg(duration) from trips where duration > 60;

-- Y la media, de los viajes reales, pero en minutos, sin decimales y con encabezado
"Duración"
select round(avg(duration)) as "Duración" from trips where duration > 60;
-- ¿Cuantos viajes ha realizado la bicicleta B00550?
select count(id) from trips where bike_number = 'B00550';

-- ¿Cuántas bicicletas hay registradas?


select count(DISTINCT bike_number) from trips;

-- ¿Puedes mostrarme una tabla con las bicicletas y el número de viajes que han
realizado?
select bike_number, count(id) from trips group by bike_number;

-- ¿Puedes mostrarme una tabla con las 10 bicicletas con más viajes nulos realizados
(los de menos de 60 segundos?
select bike_number, count(id) from trips where duration < 60 group by bike_number
order by count(id) DESC limit 10;

-- ¿Cual es la bicicleta que más se ha usado?


select bike_number, count(id) from trips group by bike_number order by count(id) DESC
limit 1;

-- ¿Qué bicicletas han sido usadas en más de 2.000 viajes?


select bike_number, count(id) AS viajes from trips group by bike_number having viajes
> 2000;

-- ¿Qué bicicletas han sido usadas en más de 2.000 viajes de al menos 3 minutos?
select bike_number, count(id) AS viajes from trips where duration > 180 group by
bike_number having viajes > 2000;

-- ¿Quienes usan más el servicio, los hombres o las mujeres?


select gender, count(id) from trips group by gender;
select gender, count(id) from trips where gender <> '' group by gender;

-- ¿Cual es la media de los viajes de hombres mayores de 30 años


select avg(duration) from trips where gender = 'Male' and birth_date is not null and
(2022 - birth_date) > 30;

También podría gustarte