Date de sortie
September 3, 2024
Auteur
Bertrand Fabre
“Tu ne connais pas une petite fonctionnalité des familles pas souvent utilisée en SQL ?”
☝️ Et bien, il y a ARRAY_REVERSE() sur BigQuery.
Imaginons que nous avons des enregistrements représentant chaque client et des arrays avec leurs différentes dates d’achat triée par ordre croissant.
Tout en voulant conserver le format tableau (ARRAY) nous voulons les trier de manière décroissante pour des questions d’affichage de sortie des données.
WITH customer_purchases AS (
SELECT 1 AS customer_id, ['2024-09-01', '2024-09-02', '2024-09-03'] AS purchase_dates UNION ALL
SELECT 2 AS customer_id, ['2024-09-03', '2024-09-06', '2024-09-07'] AS purchase_dates UNION ALL
SELECT 3 AS customer_id, ['2024-09-05', '2024-09-08', '2024-09-10'] AS purchase_dates
),
inverted_purchases AS (
SELECT
customer_id,
ARRAY_REVERSE(purchase_dates) AS reversed_purchase_dates
FROM customer_purchases
)
SELECT
customer_id,
reversed_purchase_dates
FROM inverted_purchases
;
Les résultats
customer_id | reversed_purchase_dates |
1 | [2024-09-03,2024-09-02,2024-09-01] |
2 | [2024-09-07,2024-09-06,2024-09-03] |
3 | [2024-09-10,2024-09-08,2024-09-05] |
Merci de votre lecture !