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
8s
Input Tokens
891
Output Tokens
605
Cost
$0.00
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 avg_vehicle_price AS (
    SELECT vehicle_id, AVG(sale_price::numeric) AS avg_price
    FROM sales
    GROUP BY vehicle_id
)
SELECT DISTINCT c.name
FROM customers c
JOIN sales s ON c.customer_id = s.customer_id
JOIN avg_vehicle_price avp ON s.vehicle_id = avp.vehicle_id
WHERE s.sale_price::numeric > avp.avg_price;