Créer jeu
Télécharger
Obtenir Plan Académique
Partager le jeu
Intégrez-le à votre plateforme

Vous pouvez intégrer le jeu dans un LMS compatible avec LTI 1.1 ou LTI 1.3 comme Canvas, Moodle ou Blackboard. Les scores seront ainsi automatiquement enregistrés dans le carnet de notes de la plateforme.
Télécharger
Vous avez dépassé le nombre maximum de jeux que vous pouvez intégrer à Google Classroom avec votre Plan actuel.

Pour intégrer autant de jeux que vous le souhaitez dans Google Classroom, vous avez besoin d’un Plan Académique ou un Plan Commerciel.

Vous avez dépassé le nombre maximum de jeux que vous pouvez intégrer à Microsoft Teams avec votre Plan actuel.

Pour intégrer autant de jeux que vous le souhaitez dans Microsoft Teams, vous avez besoin d’un Plan Académique ou un Plan Commerciel.

Le téléchargement du jeu est une fonctionnalité exclusive pour les utilisateurs avec un Plan Académique ou un Plan Commercial.

Obtenez votre Plan Académique ou Plan Commercial dès maintenant et commencez à intégrer vos jeux dans votre LMS, votre site Web ou votre blog.

Si vous le souhaitez, vous pouvez télécharger une jeu de test ici et tester son intégration:

Mastering SQL Window Functions

Compléter

Parties jouées 0

À propos de cette activité

Drills to master window functions in SQL

Créé par

United States

Téléchargez la version pour jouer sur papier

Créez votre propre jeu gratuite à partir de notre créateur de jeu
Affrontez vos amis pour voir qui obtient le meilleur score dans ce jeu

Top Jeux

%
Anonyme
Anonyme
%
%
%
Vous avez dépassé le nombre maximum de jeux que vous pouvez imprimer avec votre Plan actuel.

Pour imprimer autant de jeux que vous le souhaitez, vous avez besoin d’un Plan Académique ou un Plan Commerciel.

Imprimez votre jeu
Mastering SQL Window Functions
 

Compléter

Mastering SQL Window FunctionsVersion en ligne

Drills to master window functions in SQL

par Good Sam
1

ORDER OVER sale_date FROM amount running_total sale_date sales amount AS BY SUM SELECT

Problem 1 : Calculate Running Total
Question : You have a table sales ( sale_date DATE , amount DECIMAL ) . Write a SQL query to calculate a running total of amount , ordered by sale_date .

Solution :

, ,
( ) ( )
;

2

ROWS AND BETWEEN UNBOUNDED BY as sale_date 3 ROW as amount AND sales sale_date OVER CURRENT BETWEEN SELECT amount OVER SUM sale_date amount amount BETWEEN ROW amount as CURRENT ORDER BY ROWS sale_date AND PRECEDING ROWS AVG sale_date sales ROWS moving_avg ORDER ROWS CURRENT SELECT ORDER BY ROW amount OVER sum_to_end moving_avg AND FROM sales SUM BY FROM AVG running_total sales ORDER BETWEEN BY AND 3 UNBOUNDED amount sale_date ROW OVER CURRENT PRECEDING FROM FOLLOWING FROM OVER SELECT sale_date as amount BETWEEN CURRENT AVG PRECEDING 6 ROW FROM amount SELECT ORDER sale_date FOLLOWING sale_date as current_avg sales

Problem 2 : Calculate Moving Average
Question : Calculate a 7 - day moving average of sales from the sales table .

Solution :

, ,
( ) ( )
;

Example 2 : Fixed Range with Both PRECEDING and FOLLOWING

, ,
( ) ( )
;

This calculates the average amount using a window that includes three rows before , the current row , and three rows after the current row .

Example 3 : From Start of Data to Current Row
, ,
( ) ( )
;

This query computes a running total starting from the first row in the partition or result set up to the current row .

Example 4 : Current Row to End of Data
SELECT sale_date , amount ,
( ) ( )
;

This sums the amount from the current row to the last row of the partition or result set .

Example 5 : Current Row Only
, ,
( ) ( )
;

This calculates the average of just the current row's amount , which effectively returns the amount itself .

3

SELECT AS ORDER name RANK id rank customers OVER total_purchases FROM DESC total_purchases BY

Problem 3 : Rank Customers by Sales

Question : From a table customers ( id INT , name VARCHAR , total_purchases DECIMAL ) , rank customers based on their total_purchases in descending order .

Solution :

, , ,
( ) ( )
;
Explanation : RANK ( ) assigns a unique rank to each row , with gaps in the ranking for ties , based on the total_purchases in descending order .

4

sales BY sale_date sale_date ROW_NUMBER() OVER AS FROM row_num SELECT ORDER amount

Problem 4 : Row Numbering

Question : Assign a unique row number to each sale in the sales table ordered by sale_date .

Solution :

, ,
( )
;

Explanation : ROW_NUMBER ( ) generates a unique number for each row , starting at 1 , based on the ordering of sale_date .

5

OVER purchase_date customer_id FROM BY first_purchase MIN PARTITION AS customer_id SELECT purchases

Problem 5 : Find the First Purchase Date for Each Customer
Question : Given a table purchases ( customer_id INT , purchase_date DATE ) , write a SQL query to find the first purchase date for each customer .

Solution :

, ( ) ( )
;

Explanation : MIN ( ) window function is used here , partitioned by customer_id so that the minimum purchase date is calculated for each customer separately .

6

LAG LAG amount previous_day_amount BY BY SELECT sale_date sales_data AS amount change_in_amount ORDER OVER amount 1 amount OVER 1 AS ORDER FROM sale_date sale_date

The LAG function is very useful in scenarios where you need to compare successive entries or calculate differences between them . For example , calculating day - over - day sales changes :


SELECT sale_date ,
amount ,
LAG ( amount , 1 ) OVER ( ORDER BY sale_date ) AS previous_day_amount ,
amount - LAG ( amount , 1 ) OVER ( ORDER BY sale_date ) AS change_in_amount
FROM sales_data ;



,
,
( , ) ( ) ,
- ( , ) ( )
;

In this query , the change_in_amount field computes the difference in sales between consecutive days . If the LAG function references a row that doesn't exist ( e . g . , the first row in the dataset ) , it will return NULL unless a default value is specified .


The LAG window function in SQL is used to access data from a previous row in the same result set without the need for a self - join . It's a part of the SQL window functions that provide the ability to perform calculations across rows that are related to the current row . LAG is particularly useful for comparisons between records in ordered data .

How LAG Works :
LAG takes up to three arguments :

Expression : The column or expression you want to retrieve from a preceding row .
Offset : An optional integer specifying how many rows back from the current row the function should look . If not specified , the default is 1 , meaning the immediate previous row .
Default : An optional argument that provides a default value to return if the LAG function attempts to go beyond the first row of the dataset .
Syntax :
LAG ( expression , offset , default ) OVER ( [ PARTITION BY partition_expression ] ORDER BY sort_expression )


Voulez-vous vraiment quitter la page ?

En quittant la page, vous perdrez la progression du jeu.