SQL Generation

Turn plain-English questions into correct SQL against a schema. The skill behind analytics chat, natural-language dashboards, and 'just ask the database' interfaces.

100
Duration
28s
Input Tokens
785
Output Tokens
1458
Cost
$0.02
Context
Input
Show the names of customers who paid more than the average sale price for the vehicles they bought.
Expected output
SELECT c.name FROM customers c JOIN sales s ON c.customer_id = s.customer_id WHERE s.sale_price > (SELECT AVG(s2.sale_price) FROM sales s2 WHERE s2.vehicle_id = s.vehicle_id);
Model output
WITH sale_avg AS (
  SELECT s.*, AVG(sale_price) OVER (PARTITION BY vehicle_id) AS avg_price
  FROM sales s
)
SELECT DISTINCT c.name
FROM sale_avg s
JOIN customers c ON c.customer_id = s.customer_id
WHERE s.sale_price > s.avg_price;