No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

3D
23H
44M
29S

Queries Avanzadas

20/28
Recursos

Aportes 25

Preguntas 1

Ordenar por:

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

o inicia sesi贸n.

Queries de agrupaci贸n

鈩癸笍 Definici贸n
La cl谩usula FACET separa y agrupa los resultados por los valores de los atributos.

.
Los facets est谩n ordenadas de manera descendente por el primer campo que provee la cl谩usula SELECT .
.
Cuando agrupamos la informaci贸n con las funciones min(),聽max(),聽percentile(),聽average()聽o聽count() , el orden se administrado por la misma funci贸n.
.

馃搶 Consejo
Usamos FACET ... AS para asignar un nombre que simplifique el resultado final, representado en la gr谩fica.

.
Por ejemplo:
.

Si deseamos agrupar y separar dicha informaci贸n en segmentos m谩s espec铆ficos.

Supongamos que deseamos un conteo de todas las transacciones cuyo c贸digo de estado sea 200 y 304.

SELECT count(*) 
FROM Transaction
FACET cases(
 WHERE http.statusCode = '200' as 'success 200',
 WHERE http.statusCode = '304' as 'complete 304'
) as 'code'

.

Queries de filtrado

Cl谩usula de equivalencia

鈩癸笍 Definici贸n
La cl谩usula WHERE , filtra los resultados que cumplan completamente la(s) condicione(s) especificada(s) en la definici贸n.

.
Si se desea especificar m谩s de una definici贸n, es posible dividir la operaci贸n mediante operadores OR y AND .
.
Si se desea lanzar un JOIN , es posible utilizar agregaci贸n de queries.
.
Por ejemplo:
.

Si deseamos agrupar y sesgar el total de operaciones tipo campana.

SELECT max(rpm)
FROM (
  SELECT count(*) as rpm
  FROM Transaction
)

.

Cl谩usulas para periodos

鈩癸笍 Definici贸n
La cl谩usula TIMESERIES permite segmentar en periodos de tiempo espec铆fico la informaci贸n retornadas.

.
Para indicar el tiempo, se usa el formato integer units donde TIMESERIES 1 minute, permite segmentar la informaci贸n por minuto.
.
Si se desear personalizar la operaci贸n para optimizar los segmentos en una ventana de respuestas, se puede combinar con los argumentos MAX,聽AUTO y聽SLIDE BY .
.
Por ejemplo:
.

Obtener el promedio de la duraci贸n por operaciones desde hace 1 d铆a, ajustada al n煤mero m谩ximo de intervalos permitidos para un per铆odo de tiempo determinado.

SELECT average(duration)
FROM Transaction
SINCE 1 day ago TIMESERIES MAX

.

鈩癸笍 Definici贸n
La cl谩usula SINCE permite retornar informaci贸n al definir un tiempo inicial.

.
La cl谩usula SINCE posee como valor default 1 hour ago . Sin embargo, es posible utilizar otro tipo de formato, por ejemplo:
.

  • Timestamps YYYY-MM-DD HH:MM:SS ZZZZ
  • Tiempos relativos YESTERDAY,聽TODAY,聽SUNDAY
  • Soporte temporal con THIS y LAST combinado con YEAR,聽QUARTER,聽MONTH,聽WEEK,聽DAY,聽HOUR,聽MINUTE,聽SECOND

.

鈩癸笍 Definici贸n
La cl谩usula UNITL se usa para especificar un tiempo final a sesgar.

.
Por default UNTIL tiene por valor NOW .
.
Si se desear tomar l铆mites de operaci贸n temporales, se combina SINCE o UNTIL para comparaci贸n donde la cl谩usula COMPARE WITH nos permitir谩 comparar la operaci贸n temporal con su equivalente.
.
Por ejemplo:
.

Obtener el promedio de duraci贸n por vista desde hace 1 d铆a con ayer.

SELECT average(duration)
FROM PageView
SINCE 1 day AGO COMPARE WITH 1 day AGO
SELECT count(*) FROM PageView
SELECT count(*) FROM PageView FACET countryCode
SELECT count(*) FROM PageView WHERE countryCode = 'MX' FACET city

1.- Count all of the PageViews

SELECT count(*) FROM PageView

2.- Count all of the PageViews grouped by country

SELECT count(*) FROM PageView FACET countryCode

3.- Count all of the PageViews where a specific country is grouped by city

SELECT count(*) FROM PageView WHERE countryCode = 'EC' FACET city  

para entender estas clases deben hacer el curso de sql para aprender mejor, lo demas se hace con la practica y busquen usarlo con docker

Mi soluci贸n al lab: Pseudo Queries

SELECT count(*) FROM PageViews

SELECT count(*) FROM PageViews FACET country

SELECT count(*) From PageViews WHERE countryCode = 'CO' FACET city

Actualizaci贸n del Dashboard:


Query para encontrar las paginas mas visitadas en una hora gracias al evento BrowserInteraction 馃く

Mostrar la visitas de la web FoodMe

SELECT count(*) FROM PageView

SELECT count(*) FROM PageView

SELECT count(*) FROM PageView FACET countryCode

SELECT count(*) FROM PageView WHERE countryCode =鈥楳X鈥 FACET city

Visiten mi sitio!
https://juicy-dandy-iridium.glitch.me/
Gracias

Mi Dashboard

As铆 va quedando, 驴me ayudan con datos de otros pa铆ses?

馃敆 Ver proyecto

El lenguaje de consultas esta muy chilo, es muy parecido a SQL. La curva de aprendizaje es rapido.

Resultado del Lab: Pseudo Queries

1 SELECT count(*) FROM PageView
 
2 SELECT count(*) FROM PageView FACET countryCode
  
3 SELECT count(*) FROM PageView WHERE countryCode='CO' FACET city 

Cuando sabes ingles, SQL es como leer seudoc贸digo o enviarle una carta al computador, es lenguaje muy alto nivel, jaja

En el pdf que esta en recursos en las primeras clases aparecen todas las diapositivas que el profe muestra en las clase, en las pag. 106 y 107 estan las 6 query que dice en esta clase.

  1. SELECT count(*) FROM PageView
    -Count all of the PageViews
    -Cuente todas las p谩ginas vistas

2)SELECT count(*) FROM PageView FACET countryCode
-Count all of the PageViews grouped by country
-Cuente todas las p谩ginas vistas agrupadas por pa铆s

  1. SELECT count(*) FROM PageView WHERE countryCode =鈥榁E鈥 FACET city
    -Count all of the PageViews where a specific
    country is grouped by city
    -Cuente todas las vistas de p谩gina en las que se
    el pa铆s est谩 agrupado por ciudad

  1. SELECT count(*) FROM Transaction
    -Count all of the transaction
    -Contar toda la transacci贸n

5)SELECT count(*) FROM Transaction FACET name
-Count all of the Transactions grouped by the name
of transactions
-Cuente todas las Transacciones agrupadas por el nombre
de transacciones


6)SELECT count(*) FROM Transaction WHERE appName=鈥楩oodMe鈥 FACET name
-Count all of the Transactions where the appName is 鈥橣oodMe鈥
grouped by the name of transactions
-Cuente todas las Transacciones donde el nombre de la aplicaci贸n es 'FoodMe鈥
agrupados por el nombre de las transacciones

SELECT count()FROM PageView
SELECT uniqueCount(session)FROM PageView FACET countryCode SINCE 1 week ago
SELECT count(
) FROM PageView WHERE countryCode=鈥楢R鈥 FACET city SINCE 1 week ago

Hola, est谩 es mi soluci贸n al lab: Pseudo Queries

SELECT count(*) FROM PageViews
SELECT count(*) FROM PageViews FACET country
SELECT count(*) From PageViews WHERE countryCode = 'CO' FACET city
SELECT count() FROM PageView
SELECT count() FROM PageView FACET countryCode
SELECT count(*) FROM PageView WHERE countryCode =鈥楨C鈥 FACET city SINCE 1 week ago
SELECT count(*) FROM PageView
SELECT count(*) FROM PageView FACET countryCode
SELECT count(*) FROM PageView WHERE countryCode = 'BO' FACET city
SELECT count(*) FROM BrowserInteraction WHERE appName = 'FoodMe' FACET browserInteractionName

SELECT count() FROM PageView
SELECT count(
) FROM PageView FACET countryCode
SELECT uniqueCount(countryCode) FROM PageView FACET city

SELECT count(*) FROM BrowserInteraction FACET browserInteractionName WHERE appName =鈥楩oodme鈥