拾穗数据工作室SQL 评测报告与证据

RUN / #0012完成但有错误

运行 #12

模型:Sol、Gemini。比较模式:access_path;差异字段:adapter_kind、cli_version。创建于 2026年8月29日 16:37。

非全量成功 · 本场包含 12 个失败案例失败已经按固定规则计入综合得分,具体影响可在逐题表和案例证据中复核。

gpt-5.6-sol

Sol

codex_cli · text综合得分 / 100 · 越高越好
98.12
gemini-2.5-pro

Gemini

gemini_cli · text综合得分 / 100 · 越高越好
0.00

资源效率

分别列出准确率、每正确等价题 Token、估算费用和生成耗时。费用采用运行时冻结的价格快照。

指标SolGemini
准确率
越高越好
98.120.00
Token / 正确等价题
越低越好
19,766
费用 / 正确等价题
USD · 估算
不可估算不可估算
模型生成耗时 P95
越低越好
累计 Token
已记录题数
232,74112/12 题0/12 题

能力维度

加权得分
SolGemini
基础查询复杂管道子查询窗口函数聚合分析连接语义

分类得分

0—100
能力维度SolGemini
基础查询100.000.00
复杂管道96.250.00
子查询100.000.00
窗口函数96.250.00
聚合分析100.000.00
连接语义100.000.00

逐题结果(12)

展开案例可查看模型摘要、SQL、错误和原始案例 JSON。

案例SolGemini
基础筛选与排序
basic_filter_sort
100.000.00
多表连接品类收入
multi_join_category_revenue
100.000.00
保留零订单客户
left_join_zero_orders
100.000.00
相关子查询分群均值
correlated_segment_average
100.000.00
从未完成订单客户
not_exists_customers
100.000.00
每品类收入前三商品
top3_products_per_category
100.000.00
月收入与累计收入
monthly_running_revenue
100.000.00
月收入环比增长
monthly_mom_growth
100.000.00
高于平均累计消费客户
above_average_customer_spend
100.000.00
渠道支付状态金额
payment_status_by_channel
100.000.00
品类退货率
category_return_rate
92.500.00
每单最新成功支付
latest_successful_payment
85.000.00
基础筛选与排序basic_filter_sort

Sol

查询 2026-01-01(含)起的已完成订单及客户名称,按订单总金额降序、订单 ID 升序排列。

SELECT
  o.order_id,
  c.customer_name,
  o.order_date,
  o.total_amount
FROM fact_orders AS o
JOIN dim_customers AS c
  ON o.customer_id = c.customer_id
WHERE
  o.status = 'completed' AND o.order_date >= CAST('2026-01-01' AS DATE)
ORDER BY
  o.total_amount DESC,
  o.order_id ASC
STATUScompletedGEN—msEXEC293.82716699910816ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
多表连接品类收入multi_join_category_revenue

Sol

按商品品类汇总已完成订单的 distinct 订单数和订单行净销售额,并按净销售额降序、品类升序排列。

SELECT
  p.category AS category,
  COUNT(DISTINCT o.order_id) AS order_count,
  SUM(oi.quantity * oi.unit_price - oi.discount_amount) AS net_revenue
FROM fact_orders AS o
JOIN fact_order_items AS oi
  ON oi.order_id = o.order_id
JOIN dim_products AS p
  ON p.product_id = oi.product_id
WHERE
  o.status = 'completed'
GROUP BY
  p.category
ORDER BY
  net_revenue DESC,
  category ASC
STATUScompletedGEN—msEXEC227.67808299977332ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
保留零订单客户left_join_zero_orders

Sol

列出所有客户及其已完成订单数,保留零订单客户,并按完成订单数降序、客户 ID 升序排列。

SELECT
  c.customer_id,
  c.customer_name,
  COUNT(DISTINCT CASE WHEN o.status = 'completed' THEN o.order_id END) AS completed_order_count
FROM dim_customers AS c
LEFT JOIN fact_orders AS o
  ON c.customer_id = o.customer_id
GROUP BY
  c.customer_id,
  c.customer_name
ORDER BY
  completed_order_count DESC,
  c.customer_id ASC
STATUScompletedGEN—msEXEC273.679333000473ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
相关子查询分群均值correlated_segment_average

Sol

返回金额高于其客户分群已完成订单平均金额的已完成订单,并按订单金额降序、订单 ID 升序排列。

SELECT
  o.order_id,
  o.customer_id,
  c.segment,
  o.total_amount,
  (
    SELECT
      AVG(o2.total_amount)
    FROM fact_orders AS o2
    JOIN dim_customers AS c2
      ON o2.customer_id = c2.customer_id
    WHERE
      o2.status = 'completed' AND c2.segment = c.segment
  ) AS segment_avg_amount
FROM fact_orders AS o
JOIN dim_customers AS c
  ON o.customer_id = c.customer_id
WHERE
  o.status = 'completed'
  AND o.total_amount > (
    SELECT
      AVG(o3.total_amount)
    FROM fact_orders AS o3
    JOIN dim_customers AS c3
      ON o3.customer_id = c3.customer_id
    WHERE
      o3.status = 'completed' AND c3.segment = c.segment
  )
ORDER BY
  o.total_amount DESC,
  o.order_id ASC
STATUScompletedGEN—msEXEC476.7052919996786ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
从未完成订单客户not_exists_customers

Sol

返回从未有已完成订单的客户,并按 customer_id 升序排列。

SELECT
  c.customer_id,
  c.customer_name
FROM dim_customers AS c
WHERE
  NOT EXISTS(
    SELECT
      1
    FROM fact_orders AS o
    WHERE
      o.customer_id = c.customer_id AND o.status = 'completed'
  )
ORDER BY
  c.customer_id ASC
STATUScompletedGEN—msEXEC311.3750410011562ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
每品类收入前三商品top3_products_per_category

Sol

按完成订单的净销售额,为每个品类选出前三个有销售记录的商品;同额时优先 product_id 较小者。

WITH product_revenue AS (
  SELECT
    p.category,
    p.product_id,
    p.product_name,
    SUM(oi.quantity * oi.unit_price - oi.discount_amount) AS net_revenue
  FROM fact_order_items AS oi
  JOIN fact_orders AS o
    ON oi.order_id = o.order_id
  JOIN dim_products AS p
    ON oi.product_id = p.product_id
  WHERE
    o.status = 'completed'
  GROUP BY
    p.category,
    p.product_id,
    p.product_name
), ranked_products AS (
  SELECT
    category,
    product_id,
    product_name,
    net_revenue,
    ROW_NUMBER() OVER (PARTITION BY category ORDER BY net_revenue DESC, product_id ASC) AS rank_no
  FROM product_revenue
)
SELECT
  category,
  product_id,
  product_name,
  net_revenue,
  rank_no
FROM ranked_products
WHERE
  rank_no <= 3
ORDER BY
  category ASC,
  rank_no ASC
STATUScompletedGEN—msEXEC236.1422499998298ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
月收入与累计收入monthly_running_revenue

Sol

按月汇总 2025 年已完成订单的净收入,并使用按月份排序的 SUM 窗口计算累计收入。

WITH monthly AS (
  SELECT
    STRFTIME(o.order_date, '%Y-%m') AS month,
    SUM(oi.quantity * oi.unit_price - oi.discount_amount) AS monthly_revenue
  FROM fact_orders AS o
  JOIN fact_order_items AS oi
    ON oi.order_id = o.order_id
  WHERE
    o.status = 'completed'
    AND o.order_date >= CAST('2025-01-01' AS DATE)
    AND o.order_date < CAST('2026-01-01' AS DATE)
  GROUP BY
    1
)
SELECT
  month,
  monthly_revenue,
  SUM(monthly_revenue) OVER (ORDER BY month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS cumulative_revenue
FROM monthly
ORDER BY
  month ASC
STATUScompletedGEN—msEXEC222.94041699933587ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
月收入环比增长monthly_mom_growth

Sol

按月汇总 2025 年完成订单的净销售额,并使用 LAG 计算环比百分比;首个有收入月份及上月收入为 0 时环比为 NULL。

WITH monthly AS (
  SELECT
    STRFTIME(fact_orders.order_date, '%Y-%m') AS month,
    SUM(
      fact_order_items.quantity * fact_order_items.unit_price - fact_order_items.discount_amount
    ) AS monthly_revenue
  FROM fact_orders
  JOIN fact_order_items
    ON fact_order_items.order_id = fact_orders.order_id
  WHERE
    fact_orders.status = 'completed'
    AND fact_orders.order_date >= CAST('2025-01-01' AS DATE)
    AND fact_orders.order_date < CAST('2026-01-01' AS DATE)
  GROUP BY
    1
), with_previous AS (
  SELECT
    month,
    monthly_revenue,
    LAG(monthly_revenue) OVER (ORDER BY month) AS previous_revenue
  FROM monthly
)
SELECT
  month,
  monthly_revenue,
  ROUND((
    monthly_revenue - previous_revenue
  ) * 100.0 / NULLIF(previous_revenue, 0), 2) AS mom_pct
FROM with_previous
ORDER BY
  month ASC
STATUScompletedGEN—msEXEC203.9230000009411ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
高于平均累计消费客户above_average_customer_spend

Sol

返回累计已完成订单净消费高于有已完成订单客户平均累计消费的客户,并按消费额降序、客户 ID 升序排列。

SELECT
  customer_id,
  customer_name,
  total_spend
FROM (
  SELECT
    customer_id,
    customer_name,
    total_spend,
    AVG(total_spend) OVER () AS avg_total_spend
  FROM (
    SELECT
      c.customer_id,
      c.customer_name,
      SUM(oi.quantity * oi.unit_price - oi.discount_amount) AS total_spend
    FROM dim_customers AS c
    JOIN fact_orders AS o
      ON o.customer_id = c.customer_id
    JOIN fact_order_items AS oi
      ON oi.order_id = o.order_id
    WHERE
      o.status = 'completed'
    GROUP BY
      c.customer_id,
      c.customer_name
  ) AS customer_spend
) AS customer_spend_with_avg
WHERE
  total_spend > avg_total_spend
ORDER BY
  total_spend DESC,
  customer_id ASC
STATUScompletedGEN—msEXEC204.59845900040818ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
渠道支付状态金额payment_status_by_channel

Sol

按渠道类型汇总 paid、refunded 和 failed 三类支付金额,并按渠道类型升序排列。

SELECT
  c.channel_type,
  SUM(CASE WHEN p.status = 'paid' THEN p.amount ELSE 0 END) AS paid_amount,
  SUM(CASE WHEN p.status = 'refunded' THEN p.amount ELSE 0 END) AS refunded_amount,
  SUM(CASE WHEN p.status = 'failed' THEN p.amount ELSE 0 END) AS failed_amount
FROM fact_payments AS p
JOIN fact_orders AS o
  ON p.order_id = o.order_id
JOIN dim_channels AS c
  ON o.channel_id = c.channel_id
GROUP BY
  c.channel_type
ORDER BY
  c.channel_type ASC
STATUScompletedGEN—msEXEC220.31774999777554ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
品类退货率category_return_rate

Sol

分别聚合完成订单各品类的售出量与退货量,再计算退货率并按退货率降序、品类升序输出。

WITH sold_by_category AS (
  SELECT
    p.category,
    SUM(oi.quantity) AS sold_qty
  FROM fact_orders AS o
  JOIN fact_order_items AS oi
    ON oi.order_id = o.order_id
  JOIN dim_products AS p
    ON p.product_id = oi.product_id
  WHERE
    o.status = 'completed'
  GROUP BY
    p.category
), returned_by_category AS (
  SELECT
    p.category,
    SUM(r.return_qty) AS returned_qty
  FROM fact_orders AS o
  JOIN fact_order_items AS oi
    ON oi.order_id = o.order_id
  JOIN dim_products AS p
    ON p.product_id = oi.product_id
  JOIN fact_returns AS r
    ON r.order_id = oi.order_id AND r.line_no = oi.line_no
  WHERE
    o.status = 'completed'
  GROUP BY
    p.category
)
SELECT
  s.category,
  s.sold_qty,
  COALESCE(r.returned_qty, 0) AS returned_qty,
  ROUND(CAST(COALESCE(r.returned_qty, 0) AS DECIMAL(18, 3)) / NULLIF(s.sold_qty, 0), 4) AS return_rate
FROM sold_by_category AS s
LEFT JOIN returned_by_category AS r
  ON r.category = s.category
ORDER BY
  return_rate DESC,
  s.category ASC
STATUScompletedGEN—msEXEC203.24416700168513ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms
每单最新成功支付latest_successful_payment

Sol

为每个有成功支付记录的订单返回最新一笔成功支付;支付时间相同时选择 payment_id 较大的记录。

SELECT
  order_id,
  payment_id,
  paid_at,
  amount
FROM (
  SELECT
    order_id,
    payment_id,
    paid_at,
    amount,
    ROW_NUMBER() OVER (PARTITION BY order_id ORDER BY paid_at DESC, payment_id DESC) AS rn
  FROM fact_payments
  WHERE
    status = 'paid'
) AS ranked_payments
WHERE
  rn = 1
ORDER BY
  order_id ASC
STATUScompletedGEN—msEXEC197.9231669974979ms

Gemini

Gemini 退出码 41: Please set an Auth method in your $PROJECT_ROOT/var/cli-homes/gemini/3/.gemini/settings.json or specify one of the following environment variables before running: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA

STATUSfailedGEN—msEXEC—ms

运行配置

字段来自运行创建时冻结的快照。

app_version0.1.0
attempts1
case_count12
duckdb_version1.5.5
output_contractquery-plan-v1
scorer_version1.0.0
sqlglot_version30.17.0
suite hash0a4a18b4374f510f5eff18b06272c30c3375e1f082ae405adc8ead7dd9c81556
bundle sha256d5da861e367c46b599d2894f89652f8bac573e3b8b9deee1f34169a65ad8501e
report schemarun-report-v1
attempts1