S/ASQL 擂台TEXT-TO-SQL BENCHMARK

RUN / #0016完成但有错误

运行 #16

模型:GPT 当前会话桥接(流程验收)。比较模式:single_model;差异字段:无。创建于 2026年8月29日 22:05。

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

gpt-session-bridge

GPT 当前会话桥接(流程验收)

openai_compatible · json_schema综合得分 / 100 · 越高越好
87.31

资源效率

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

指标GPT 当前会话桥接(流程验收)
准确率
越高越好
87.31
Token / 正确等价题
越低越好
2,953
费用 / 正确等价题
USD · 估算
不可估算
模型生成耗时 P95
越低越好
累计 Token
已记录题数
46,41517/18 题

能力维度

加权得分
GPT 当前会话桥接(流程验收)
基础查询复杂查询数据开发时间与窗口聚合与指标连接与粒度

分类得分

0—100
能力维度GPT 当前会话桥接(流程验收)
基础查询100.00
复杂查询96.38
数据开发92.50
时间与窗口68.33
聚合与指标100.00
连接与粒度66.67

逐题结果(18)

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

案例GPT 当前会话桥接(流程验收)
基础筛选与排序
basic_filter_sort
100.00
多表连接品类收入
multi_join_category_revenue
100.00
保留零订单客户
left_join_zero_orders
100.00
相关子查询分群均值
correlated_segment_average
100.00
从未完成订单客户
not_exists_customers
100.00
每品类收入前三商品
top3_products_per_category
100.00
月收入与累计收入
monthly_running_revenue
100.00
月收入环比增长
monthly_mom_growth
5.00
高于平均累计消费客户
above_average_customer_spend
89.15
渠道支付状态金额
payment_status_by_channel
100.00
品类退货率
category_return_rate
92.50
每单最新成功支付
latest_successful_payment
85.00
缺失城市标准化
null_city_label
100.00
已完成订单金额分层
completed_order_amount_band
100.00
全渠道经营表现
all_channel_performance
0.00
渠道核心指标
semantic_channel_kpis
100.00
品类收入贡献占比
category_revenue_share
100.00
订单头明细金额对账
order_total_reconciliation
100.00
基础筛选与排序basic_filter_sort

GPT 当前会话桥接(流程验收)

筛选 2026-01-01 起的已完成订单,连接客户维表获取客户名称,输出订单字段并按金额降序、订单号升序排列。

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—msEXEC430.8156249971944ms
多表连接品类收入multi_join_category_revenue

GPT 当前会话桥接(流程验收)

连接订单、订单行和商品表,筛选已完成订单后按品类统计 distinct 订单数与订单行净销售额,并按指定顺序排序。

SELECT
  p.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,
  p.category ASC
STATUScompletedGEN—msEXEC251.31245899683563ms
保留零订单客户left_join_zero_orders

GPT 当前会话桥接(流程验收)

以客户表为主表 LEFT JOIN 订单表,通过条件去重计数统计已完成订单,保留零订单客户并按指定顺序排序。

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 o.customer_id = c.customer_id
GROUP BY
  c.customer_id,
  c.customer_name
ORDER BY
  completed_order_count DESC,
  c.customer_id ASC
STATUScompletedGEN—msEXEC215.4034999985015ms
相关子查询分群均值correlated_segment_average

GPT 当前会话桥接(流程验收)

连接已完成订单与客户,并通过引用外层客户分群的相关子查询计算该分群已完成订单平均金额,再筛选高于均值的订单并按要求排序。

SELECT
  ranked_orders.order_id,
  ranked_orders.customer_id,
  ranked_orders.segment,
  ranked_orders.total_amount,
  ranked_orders.segment_avg_amount
FROM (
  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'
) AS ranked_orders
WHERE
  ranked_orders.total_amount > ranked_orders.segment_avg_amount
ORDER BY
  ranked_orders.total_amount DESC,
  ranked_orders.order_id ASC
STATUScompletedGEN—msEXEC251.31962500017835ms
从未完成订单客户not_exists_customers

GPT 当前会话桥接(流程验收)

从客户主表出发,使用相关 NOT EXISTS 子查询排除任何存在已完成订单的客户,并按 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—msEXEC269.77720799914096ms
每品类收入前三商品top3_products_per_category

GPT 当前会话桥接(流程验收)

先汇总完成订单中各品类商品的净销售额,再用 ROW_NUMBER 按品类分区排名并取前三。

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
  INNER JOIN fact_orders AS o
    ON oi.order_id = o.order_id
  INNER 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—msEXEC213.90308300033212ms
月收入与累计收入monthly_running_revenue

GPT 当前会话桥接(流程验收)

按 2025 年月份汇总已完成订单商品行净销售额,并使用按 month 排序的 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
  INNER 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
    STRFTIME(o.order_date, '%Y-%m')
)
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—msEXEC233.4604159987066ms
月收入环比增长monthly_mom_growth

GPT 当前会话桥接(流程验收)

按完成订单的订单行净额汇总 2025 年月收入,补齐 12 个日历月,并用 LAG 计算相邻月份的收入环比。

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

GPT 当前会话桥接(流程验收)

先汇总每位有已完成订单客户的订单行净销售额,再通过外层派生表计算客户平均累计消费,筛出高于平均值者并按指定顺序输出。

SELECT
  customer_id,
  customer_name,
  total_spend
FROM (
  SELECT
    customer_spend.customer_id,
    customer_spend.customer_name,
    customer_spend.total_spend,
    AVG(customer_spend.total_spend) OVER () AS avg_total_spend
  FROM (
    SELECT
      c.customer_id,
      c.customer_name,
      SUM(
        COALESCE(oi.quantity * oi.unit_price - oi.discount_amount, CAST(0 AS DECIMAL(14, 2)))
      ) AS total_spend
    FROM fact_orders AS o
    INNER JOIN dim_customers AS c
      ON o.customer_id = c.customer_id
    LEFT JOIN fact_order_items AS oi
      ON o.order_id = oi.order_id
    WHERE
      o.status = 'completed'
    GROUP BY
      c.customer_id,
      c.customer_name
  ) AS customer_spend
) AS customer_spend_with_average
WHERE
  total_spend > avg_total_spend
ORDER BY
  total_spend DESC,
  customer_id ASC
STATUScompletedGEN—msEXEC305.6103749986505ms
渠道支付状态金额payment_status_by_channel

GPT 当前会话桥接(流程验收)

将支付记录经订单关联到渠道,按渠道类型分组,并使用三组 SUM(CASE WHEN ...) 分别汇总 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—msEXEC201.53850000497187ms
品类退货率category_return_rate

GPT 当前会话桥接(流程验收)

分别在品类粒度聚合已完成订单的售出数量与退货数量,再连接聚合结果计算四舍五入至 4 位的退货率,避免明细连接导致 fan-out。

WITH sold_by_category AS (
  SELECT
    p.category,
    SUM(oi.quantity) AS sold_qty
  FROM fact_orders AS o
  INNER JOIN fact_order_items AS oi
    ON o.order_id = oi.order_id
  INNER JOIN dim_products AS p
    ON oi.product_id = p.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_returns AS r
  INNER JOIN fact_order_items AS oi
    ON r.order_id = oi.order_id AND r.line_no = oi.line_no
  INNER JOIN fact_orders AS o
    ON oi.order_id = o.order_id
  INNER JOIN dim_products AS p
    ON oi.product_id = p.product_id
  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(38, 10)) / NULLIF(s.sold_qty, 0), 4) AS return_rate
FROM sold_by_category AS s
LEFT JOIN returned_by_category AS r
  ON s.category = r.category
ORDER BY
  return_rate DESC,
  s.category ASC
STATUScompletedGEN—msEXEC240.50150000402937ms
每单最新成功支付latest_successful_payment

GPT 当前会话桥接(流程验收)

从成功支付记录中使用 ROW_NUMBER 为每个订单按支付时间及 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—msEXEC212.8069160025916ms
缺失城市标准化null_city_label

GPT 当前会话桥接(流程验收)

从客户维表筛选 city 为 NULL 的客户,以“未知”作为城市标签,并按 customer_id 升序输出。

SELECT
  customer_id,
  customer_name,
  COALESCE(city, '未知') AS city_label
FROM dim_customers
WHERE
  city IS NULL
ORDER BY
  customer_id ASC
STATUScompletedGEN—msEXEC434.092707997479ms
已完成订单金额分层completed_order_amount_band

GPT 当前会话桥接(流程验收)

筛选 2026 年已完成订单,使用 CASE 按订单头 total_amount 分层,并按金额降序、订单号升序输出。

SELECT
  order_id,
  total_amount,
  CASE
    WHEN total_amount >= 2000
    THEN 'high'
    WHEN total_amount >= 1000
    THEN 'medium'
    ELSE 'low'
  END AS amount_band
FROM fact_orders
WHERE
  status = 'completed'
  AND order_date >= CAST('2026-01-01' AS DATE)
  AND order_date < CAST('2027-01-01' AS DATE)
ORDER BY
  total_amount DESC,
  order_id ASC
STATUScompletedGEN—msEXEC251.60224999854108ms
全渠道经营表现all_channel_performance
渠道核心指标semantic_channel_kpis

GPT 当前会话桥接(流程验收)

按 channel_type 分别预聚合完成订单、完成订单行净销售额和支付状态金额,再连接各聚合结果,避免订单行与支付记录直接连接导致重复计算。

WITH channel_types AS (
  SELECT DISTINCT
    channel_type
  FROM dim_channels
), completed_orders AS (
  SELECT
    c.channel_type,
    COUNT(DISTINCT o.order_id) AS completed_order_count
  FROM fact_orders AS o
  INNER JOIN dim_channels AS c
    ON o.channel_id = c.channel_id
  WHERE
    o.status = 'completed'
  GROUP BY
    c.channel_type
), net_revenue AS (
  SELECT
    c.channel_type,
    SUM(oi.quantity * oi.unit_price - oi.discount_amount) AS net_revenue
  FROM fact_order_items AS oi
  INNER JOIN fact_orders AS o
    ON oi.order_id = o.order_id
  INNER JOIN dim_channels AS c
    ON o.channel_id = c.channel_id
  WHERE
    o.status = 'completed'
  GROUP BY
    c.channel_type
), payment_amounts AS (
  SELECT
    c.channel_type,
    SUM(CASE WHEN p.status = 'paid' THEN p.amount ELSE CAST(0 AS DECIMAL(14, 2)) END) AS paid_amount,
    SUM(CASE WHEN p.status = 'refunded' THEN p.amount ELSE CAST(0 AS DECIMAL(14, 2)) END) AS refunded_amount,
    SUM(CASE WHEN p.status = 'failed' THEN p.amount ELSE CAST(0 AS DECIMAL(14, 2)) END) AS failed_amount
  FROM fact_payments AS p
  INNER JOIN fact_orders AS o
    ON p.order_id = o.order_id
  INNER JOIN dim_channels AS c
    ON o.channel_id = c.channel_id
  GROUP BY
    c.channel_type
)
SELECT
  ct.channel_type,
  COALESCE(co.completed_order_count, 0) AS completed_order_count,
  COALESCE(nr.net_revenue, CAST(0 AS DECIMAL(14, 2))) AS net_revenue,
  COALESCE(pa.paid_amount, CAST(0 AS DECIMAL(14, 2))) AS paid_amount,
  COALESCE(pa.refunded_amount, CAST(0 AS DECIMAL(14, 2))) AS refunded_amount,
  COALESCE(pa.failed_amount, CAST(0 AS DECIMAL(14, 2))) AS failed_amount
FROM channel_types AS ct
LEFT JOIN completed_orders AS co
  ON ct.channel_type = co.channel_type
LEFT JOIN net_revenue AS nr
  ON ct.channel_type = nr.channel_type
LEFT JOIN payment_amounts AS pa
  ON ct.channel_type = pa.channel_type
ORDER BY
  ct.channel_type ASC
STATUScompletedGEN—msEXEC592.9132079982082ms
品类收入贡献占比category_revenue_share

GPT 当前会话桥接(流程验收)

按商品品类汇总完成订单行的净销售额,再以全部品类净销售额为分母计算百分比占比并四舍五入至 2 位,最后按指定顺序排序。

WITH category_revenue AS (
  SELECT
    p.category,
    SUM(oi.quantity * oi.unit_price - oi.discount_amount) AS net_revenue
  FROM fact_orders AS o
  INNER JOIN fact_order_items AS oi
    ON oi.order_id = o.order_id
  INNER JOIN dim_products AS p
    ON p.product_id = oi.product_id
  WHERE
    o.status = 'completed'
  GROUP BY
    p.category
), category_metrics AS (
  SELECT
    category,
    net_revenue,
    ROUND(100.0 * net_revenue / NULLIF(SUM(net_revenue) OVER (), 0), 2) AS revenue_share_pct
  FROM category_revenue
)
SELECT
  category,
  net_revenue,
  revenue_share_pct
FROM category_metrics
ORDER BY
  revenue_share_pct DESC,
  category ASC
STATUScompletedGEN—msEXEC210.75562499754597ms
订单头明细金额对账order_total_reconciliation

GPT 当前会话桥接(流程验收)

汇总每个订单的订单行净额,与订单头 total_amount 在 2 位小数精度下对账,仅输出有差异的订单并按指定顺序排列。

WITH reconciliation AS (
  SELECT
    o.order_id,
    ROUND(o.total_amount, 2) AS stored_total,
    ROUND(COALESCE(SUM(oi.quantity * oi.unit_price - oi.discount_amount), 0), 2) AS calculated_total
  FROM fact_orders AS o
  LEFT JOIN fact_order_items AS oi
    ON o.order_id = oi.order_id
  GROUP BY
    o.order_id,
    o.total_amount
), differences AS (
  SELECT
    order_id,
    stored_total,
    calculated_total,
    ROUND(stored_total - calculated_total, 2) AS difference
  FROM reconciliation
  WHERE
    stored_total <> calculated_total
)
SELECT
  order_id,
  stored_total,
  calculated_total,
  difference
FROM differences
ORDER BY
  ABS(difference) DESC,
  order_id ASC
STATUScompletedGEN—msEXEC236.52795900125057ms

运行配置

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

app_version0.1.0
attempts1
case_count18
duckdb_version1.5.5
output_contractquery-plan-v1
scorer_version1.0.0
sqlglot_version30.17.0
suite hash5b5d98876ea35114f18ce6dfa48cc9800d88b6baba80d311b2f52552a38b31af
bundle sha256d9058da24c959b3562efdcef6263fa9e5ce1deee644f2ae14ad6853ad3b4d724
report schemarun-report-v1
attempts1