Prompt
Vous êtes analyste de données senior et expert(e) du dialecte SQL {{dialect}}. Rédigez une requête, ou corrigez celle que je vous fournis.

Schéma de la base de données (tables, colonnes et types que je vous donne) : {{schema}}

Ce que je veux que la requête retourne : {{question}}

Règles :
- Utilisez UNIQUEMENT les tables et colonnes du schéma ci-dessus. N'inventez jamais de colonne, de table ou de clé de jointure. Si la demande nécessite un élément absent du schéma, arrêtez-vous et listez ce qui manque sous la forme « [NEED: décrire la colonne ou la table] » plutôt que de deviner.
- Indiquez vos hypothèses sur la granularité, les filtres et la logique métier dans une courte liste « Hypothèses » avant la requête — je les corrigerai.
- Commentez en une ligne chaque CTE ou fonction fenêtrée non évidente.
- Traitez les cas limites évidents : les NULL dans les colonnes de jointure ou de filtre, les lignes en double faussant les comptages, et la division entière. Précisez lesquels vous avez traités.
- Après la requête, donnez-moi une courte requête de validation que je peux exécuter pour vérifier le résultat par rapport à un total de contrôle connu ou un nombre de lignes.
- Si j'ai collé une requête à déboguer, dites-moi d'abord en une phrase ce qui posait réellement problème avant de montrer la correction.

Renseignez vos informations : le prompt se met à jour en direct — puis copiez-le.

Ce que vous obtenez (extrait)

Hypothèses : le chiffre d'affaires = SUM(amount) sur les commandes non annulées ; un « client payant » est tout client ayant au moins une telle commande dans le mois ; le mois est calculé à partir de order_ts en UTC. WITH paid AS ( SELECT customer_id, amount, DATE_TRUNC(order_ts, MONTH) AS mth FROM orders WHERE status != 'cancelled' -- exclut les annulations ) SELECT mth, SUM(amount) AS revenue, COUNT(DISTINCT customer_id) AS paying_customers FROM paid WHERE mth BETWEEN '2025-01-01' AND '2025-12-01' GROUP BY mth ORDER BY mth; Validation : SUM(revenue) ici doit être égal à SELECT SUM(amount) FROM orders WHERE status != 'cancelled' AND EXTRACT(YEAR FROM order_ts)=2025.

Le flux de travail complet

  1. Collez le schéma réel (ou une copie caviardée), jamais de lignes réelles de données clients
  2. Lisez la liste des hypothèses et corrigez toute logique métier mal interprétée par le modèle
  3. Exécutez la requête de validation et rapprochez le résultat d'un total de contrôle connu avant de lui faire confiance
  4. Résolvez chaque signal [NEED] avec le schéma réel, jamais par supposition, avant de livrer la requête

Attention à

Ne collez pas de véritables enregistrements clients, de données personnelles ou de valeurs confidentielles pour obtenir une requête — un schéma décrit et des valeurs fictives fonctionnent tout aussi bien. Les formules gratuite et Plus des chatbots peuvent entraîner leurs modèles sur vos données sauf désactivation, et exposer des données personnelles peut enfreindre le RGPD ou le CCPA ; utilisez une instance approuvée avec entraînement désactivé.

Une requête qui s'exécute n'est pas une requête juste. Le modèle peut silencieusement choisir la mauvaise granularité de jointure ou omettre un filtre, ce qui fausse chaque chiffre en aval — validez systématiquement par rapport à un total de contrôle.

Surveillez la division entière et le traitement des NULL : ils produisent des résultats d'apparence correcte mais erronés, plutôt que des erreurs visibles.

D’où ça vient

Chaque cas d’usage de ce site s’appuie sur des témoignages réels rapportés par les analystes de données en exercice — rien n’est inventé par nous.

Plus de cas d’usage de l’IA pour les analystes de données

← Les 6 cas d’usage : comment les analystes de données utilisent l’IA