OverpayingForAIPricing desk

SQL · 4 checks · max 500 tokens · benched 2026-09-16

Gemini 3.1 Pro Preview vs Gemini 3.8 Flash vs Gemini 3.5 Flash Lite on products over 100 units with having

Google models side by side on "Products over 100 units with HAVING": Gemini 3.5 Flash Lite scores 10/10; Gemini 3.5 Flash Lite is the cheapest answer scoring 8+ at $0.14 per 1,000 runs. Outputs, checks, judge reasons, latency and cost.

The prompt every model received

System

You are a database engineer. Reply with a single SQL statement and nothing else.

User

Tables: products(id, name) and order_items(product_id, quantity). Write one standard SQL query that lists product names whose total quantity sold across all order_items is greater than 100. Filter the aggregate with a HAVING clause.

Rubric for the judge: Join, SUM(quantity), GROUP BY product, HAVING > 100; returns names only; no WHERE on the aggregate.

Side by side

Every cell is one OpenRouter call at temperature 0 with the prompt's token cap and reasoning effort "low" where the model supports it. Cost is usage × the catalogue rate in models.json. Quality is one judge call to anthropic/claude-haiku-4.5 against the prompt's rubric, cached per prompt version.

Gemini 3.1 Pro Preview

google/gemini-3.1-pro-preview

10/10
Latency
2.7s
Cost
$0.00416
Per 1,000
$4.16

69 in · 335 out (286 reasoning) · 20 words · checks 4/4

  • regex
  • regex
  • regex
  • regex
SELECT p.name
FROM products p
JOIN order_items oi ON p.id = oi.product_id
GROUP BY p.id, p.name
HAVING SUM(oi.quantity) > 100;

Judge: Query correctly joins tables, groups by product, uses HAVING with SUM(quantity) > 100 filter, returns names only, and contains no WHERE clause on the aggregate.

Gemini 3.8 Flash

google/gemini-3.8-flash

10/10
Latency
981ms
Cost
$0.00023
Per 1,000
$0.23

69 in · 49 out · 20 words · checks 4/4

  • regex
  • regex
  • regex
  • regex
SELECT p.name
FROM products p
JOIN order_items oi ON p.id = oi.product_id
GROUP BY p.id, p.name
HAVING SUM(oi.quantity) > 100;

Judge: Query correctly joins tables, groups by product, uses HAVING with SUM(quantity) > 100 filter, returns names only, and contains no WHERE clause on the aggregate.

Gemini 3.5 Flash Lite

google/gemini-3.5-flash-lite

10/10
top judge scorecheapest scoring 8+
Latency
614ms
Cost
$0.00014
Per 1,000
$0.14

69 in · 49 out · 22 words · checks 4/4

  • regex
  • regex
  • regex
  • regex
```sql
SELECT p.name FROM products p JOIN order_items o ON p.id = o.product_id GROUP BY p.id, p.name HAVING SUM(o.quantity) > 100;
```

Judge: Query correctly joins products and order_items, groups by product, uses HAVING with SUM(quantity) > 100 filter, returns names only, and contains no WHERE clause on the aggregate.

Frequently asked

What does this prompt test?

SQL: Join, SUM(quantity), GROUP BY product, HAVING > 100; returns names only; no WHERE on the aggregate. The deterministic checks are regex, regex, regex, regex.

Which model should I pick for this task?

If the judge's bar of 8/10 is good enough for you, Gemini 3.5 Flash Lite at $0.14 per 1,000 runs. If you need the top score, Gemini 3.5 Flash Lite at $0.14 per 1,000 runs.

If our calculators helped you cut down on hidden AI wallet leaks, thanks for using them. A tiny fraction of your savings is what keeps our pricing indexes updated daily.

Not sure which AI is cheapest for your use case? Find out in 30 seconds — no signup required.

AI cost intelligence

Stop overpaying for AI tools

Join the OverpayingForAI list for pricing updates, cheaper alternatives, and practical buying guidance.

Now tracking 50+ AI tools, models, platforms, subscriptions, coding tools, and automation products.

We use your email only for OverpayingForAI updates. Unsubscribe anytime.