# Créer une variable et filtrer la sortie

Créez une variable pour calculer le prix total de chaque élément et utilisez-la pour filtrer votre sortie.

## Procédure

1. Sous la clause UNNEST dans la requête, utilisez le mot-clé LET pour créer une variable et attribuer à la variable une expression calculant le prix total d'un élément.

   Vous pouvez effectuer cette opération en multipliant l'élément price par l'élément qty : LET $total = toDecimal(qty \* price)
2. Ajoutez un élément total\_price avec la valeur $total dans la clause SELECT.

   La clause SELECT doit ressembler à ceci :
   ```
   SELECT {
       c.name,
       c.rating,
       o.orderno,
       itemno,
       total_price = $total
   }
   ```
3. Sous la clause LET, ajoutez une clause WHEREpour conserver les éléments ayant un prix total supérieur à 100 : WHERE $total &gt; 1000.
4. Sous la clause JOIN, ajoutez une autre clause WHERE pour conserver les client·es ayant une note supérieure à 650 : WHERE c.rating &gt; 650.
5. Pour retourner une sortie avec uniquement l'élément ayant le prix total le plus élevé, ajoutez la clause suivante après la clause SELECT : ORDER BY $total DESC LIMIT 1.

   Cela permet d'ordonner la sortie du total le plus élevé au total le moins élevé, ainsi que de conserver uniquement le premier résultat.

## Résultats

La requête complète doit ressembler à ceci :

```
FROM order AS o
UNNEST o.items
LET $total = toDecimal(qty * price)
WHERE $total > 1000
JOIN customer AS c ON c.custid = o.custid
WHERE c.rating > 650
SELECT {
    c.name,
    c.rating,
    o.orderno,
    itemno,
    total_price = $total
} ORDER BY $total DESC LIMIT 1
```

Elle retourne le résultat suivant :

```
[
	{
		"name": "T. Cruise",
		"rating": 750,
		"orderno": 1002,
		"itemno": 460,
		"total_price": 9594.05
	}
]
```