当前位置: 首页 > article >正文

Qwen:Qwen3,R1 在 Text2SQL 效果评估

【对比模型】

  • Qwen3 235B-A22B(2350亿总参数,220亿激活参数),32B,30B-A3B;
  • QwQ 32B(推理模型)
  • DeepSeek-R1 671B(满血版)(推理模型)

1,跑分对比

【官方对比】

指标/模型Qwen3 235B-A22BQwen3-32BQwen3-30B-A3BQwQ-32BDeepSeek-R1 671B-A37B
AIME 2485.781.480.479.579.8
AIME 2581.572.970.969.570.0
LiveCodeBench70.765.762.662.7/63.464.3/65.9
LiveBench77.774.974.372.0/73.171.6
BFCL70.870.369.166.456.9/60.3
ArenaHard95.693.891.089.593.2
CodeForces20561977197419822029
Aider61.850.2--56.9
MultiIF70.870.372.268.356.9
GPQA--65.865.6-
IFEval---83.983.3

PS:表中多个数据:62.7/63.4。左出自 Qwen3 博客,右出自 QwQ-32B 论文。

【结论总结】

  • Qwen3 235B-A22B 为全方位领先模型,在所有公开指标中几乎都是最高分,尤其在数学、代码、对话与逻辑推理方面,具备显著优势。

  • Qwen3-32B30B-A3B 是成本更低但保持较好性能的替代选项,适合资源有限的场景。

  • QwQ 32BDeepSeek-R1 在部分指标表现尚可(如IFEval、CodeForces),但总体偏弱,且不稳定。

  • DeepSeek-R1 的表现不及其模型规模(671B),说明其效率或能力未充分发挥。

【数据集介绍】

  • AIME 24 / 25:数学竞赛题,考查数学推理能力。

  • LiveCodeBench:代码生成任务。

  • LiveBench:多任务真实世界评测。

  • BFCL、ArenaHard:多为复杂推理或语言理解任务。

  • CodeForces:程序竞赛分数(越高越好)。

  • Aider、MultiIF、GPQA、IFEval:代码辅助、复杂推理、多跳问答等任务。

2,模型架构

指标/模型Qwen3 235B-A22BQwen3-32BQwen3-30B-A3BQwQ-32BDeepSeek-R1 671B-A37B
种类MoEDenseMoEDenseMoE
总参数235B32B30B32B671B
网络层数9464486462
注意力头数64 / 464 / 832 / 440 / 8-
上下文长度128K128K128K128K128K
  • 235B:模型总参数;A22B:MoE架构下的激活参数;

【MoE & Dense】

  • Dense(稠密)模型是指:每个输入都激活模型中所有的参数,所有的神经网络层和单元都会参与到每一次前向传播计算中。
  • MoE 模型是指:为每个输入动态选择一部分“专家子网络”进行激活和计算,而不是激活全部参数。比如,一个 MoE 层里有 64 个专家网络,但每次输入只选其中 2~4 个进行前向传播。

特性Dense 模型MoE 模型
每次激活参数量全部参数部分专家(如 2/64)
参数规模通常较小(如70B)可超大(如1T),但每次推理只用一小部分
推理成本相对低
性能提升潜力线性增长潜在指数增长
实现复杂度简单高,需要路由和负载均衡机制

3,语义SQL解析

任务描述:

你的目标是将给定的自然语言查询(NLQ)转换为相应的SQL查询语句。我们希望通过测试不同的LLM模型,在语义理解和生成SQL语句的准确性方面,找到它们之间的差异。

请根据以下自然语言查询,生成对应的SQL查询语句。

自然语言查询示例:

  1. 查询1: "获取所有销售额大于1000的订单的订单号、客户姓名和订单日期。"

  2. 查询2: "找到所有在2023年1月1日到2023年12月31日之间下单的客户的名称和他们的总购买金额。"

  3. 查询3: "返回所有购买了'电子产品'类别商品的客户信息,以及他们购买的商品的名称。"

  4. 查询4: "获取2022年第二季度内,每个地区的平均销售额和总订单数。"

  5. 查询5: "列出所有库存低于50的产品信息,包括产品名称、库存数量和价格。"

数据库表结构(假设)

  • orders (订单表): order_id, customer_id, order_date, total_amount, region

  • customers (客户表): customer_id, customer_name

  • products (产品表): product_id, product_name, category, stock_quantity, price

  • order_items (订单项表): order_id, product_id, quantity, price

输出:
对于每个查询,请生成一个相应的SQL查询语句。

【测试结果】Qwen3 235B-A22B & DeepSeek-R1 671B-A37B 胜出

指标/模型Qwen3 235B-A22BQwen3-32BQwen3-30B-A3BQwQ-32BDeepSeek-R1 671B-A37B
查询1
查询2⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
查询3
查询4
查询5
  • 查询1: "获取所有销售额大于1000的订单的订单号、客户姓名和订单日期。"
# deepseek-r1
SELECT o.order_id, c.customer_name, o.order_date FROM orders o JOIN customers c ON o.customer_id = c.customer_id WHERE o.total_amount > 1000;
# qwen3-235b-a22b
SELECT o.order_id, c.customer_name, o.order_date FROM orders o JOIN customers c ON o.customer_id = c.customer_id WHERE o.total_amount > 1000;
# qwen3-32b
SELECT o.order_id, c.customer_name, o.order_date FROM orders o JOIN customers c ON o.customer_id = c.customer_id WHERE o.total_amount > 1000;
# qwen3-30b-a3b
SELECT orders.order_id, customers.customer_name, orders.order_date FROM orders JOIN customers ON orders.customer_id = customers.customer_id WHERE orders.total_amount > 1000;
# qwq:32b
SELECT o.order_id, c.customer_name, o.order_date FROM orders o JOIN customers c ON o.customer_id = c.customer_id WHERE o.total_amount > 1000;
  • 查询2: "找到所有在2023年1月1日到2023年12月31日之间下单的客户的名称和他们的总购买金额。"
# deepseek-r1
SELECT c.customer_name, SUM(o.total_amount) AS total_purchase FROM orders o JOIN customers c ON o.customer_id = c.customer_id WHERE o.order_date BETWEEN '2023-01-01' AND '2023-12-31' GROUP BY c.customer_id;
# qwen3-235b-a22b
SELECT c.customer_name, SUM(o.total_amount) AS total_purchase_amount FROM orders o JOIN customers c ON o.customer_id = c.customer_id WHERE o.order_date BETWEEN '2023-01-01' AND '2023-12-31' GROUP BY c.customer_name;
# qwen3-32b
SELECT c.customer_name, SUM(o.total_amount) AS total_purchase FROM orders o JOIN customers c ON o.customer_id = c.customer_id WHERE o.order_date BETWEEN '2023-01-01' AND '2023-12-31' GROUP BY c.customer_id, c.customer_name;
# qwen3-30b-a3b
SELECT customers.customer_name, SUM(orders.total_amount) AS total_purchase FROM orders JOIN customers ON orders.customer_id = customers.customer_id WHERE orders.order_date BETWEEN '2023-01-01' AND '2023-12-31' GROUP BY customers.customer_id, customers.customer_name;
# qwq:32b
SELECT c.customer_name, SUM(o.total_amount) AS total_purchase_amount FROM orders o JOIN customers c ON o.customer_id = c.customer_id WHERE o.order_date BETWEEN '2023-01-01' AND '2023-12-31' GROUP BY c.customer_id, c.customer_name;
  • 查询3: "返回所有购买了'电子产品'类别商品的客户信息,以及他们购买的商品的名称。"
# deepseek-r1
SELECT DISTINCT c.*, p.product_name FROM customers c JOIN orders o ON c.customer_id = o.customer_id JOIN order_items i ON o.order_id = i.order_id JOIN products p ON i.product_id = p.product_id WHERE p.category = '电子产品';
# qwen3-235b-a22b
SELECT DISTINCT c.*, p.product_name FROM customers c JOIN orders o ON c.customer_id = o.customer_id JOIN order_items oi ON o.order_id = oi.order_id JOIN products p ON oi.product_id = p.product_id WHERE p.category = '电子产品';
# qwen3-32b
SELECT c.customer_name, p.product_name FROM customers c JOIN orders o ON c.customer_id = o.customer_id JOIN order_items oi ON o.order_id = oi.order_id JOIN products p ON oi.product_id = p.product_id WHERE p.category = '电子产品';
# qwen3-30b-a3b
SELECT customers.customer_name, products.product_name FROM customers JOIN orders ON customers.customer_id = orders.customer_id JOIN order_items ON orders.order_id = order_items.order_id JOIN products ON order_items.product_id = products.product_id WHERE products.category = '电子产品';
# qwq:32b
SELECT DISTINCT c.*, p.product_name FROM customers c JOIN orders o ON c.customer_id = o.customer_id JOIN order_items oi ON o.order_id = oi.order_id JOIN products p ON oi.product_id = p.product_id WHERE p.category = '电子产品';
  • 查询4: "获取2022年第二季度内,每个地区的平均销售额和总订单数。"
# deepseek-r1
SELECT region, AVG(total_amount) AS avg_sales, COUNT(order_id) AS total_orders FROM orders WHERE order_date BETWEEN '2022-04-01' AND '2022-06-30' GROUP BY region;
# qwen3-235b-a22b
SELECT region, AVG(total_amount) AS avg_sales, COUNT(*) AS total_orders FROM orders WHERE order_date BETWEEN '2022-04-01' AND '2022-06-30' GROUP BY region;
# qwen3-32b
SELECT o.region, AVG(o.total_amount) AS avg_sales, COUNT(o.order_id) AS total_orders FROM orders o WHERE o.order_date BETWEEN '2022-04-01' AND '2022-06-30' GROUP BY o.region;
# qwen3-30b-a3b
SELECT region, AVG(total_amount) AS avg_sales, COUNT(order_id) AS total_orders FROM orders WHERE order_date BETWEEN '2022-04-01' AND '2022-06-30' GROUP BY region;
# qwq:32b
SELECT region, AVG(total_amount) AS average_sales, COUNT(order_id) AS total_orders FROM orders WHERE order_date BETWEEN '2022-04-01' AND '2022-06-30' GROUP BY region;
  • 查询5: "列出所有库存低于50的产品信息,包括产品名称、库存数量和价格。"
# deepseek-r1
SELECT product_name, stock_quantity, price FROM products WHERE stock_quantity < 50;
# qwen3-235b-a22b
SELECT product_name, stock_quantity, price FROM products WHERE stock_quantity < 50;
# qwen3-32b
SELECT product_name, stock_quantity, price FROM products WHERE stock_quantity < 50;
# qwen3-30b-a3b
SELECT product_name, stock_quantity, price FROM products WHERE stock_quantity < 50;
# qwq:32b
SELECT product_name, stock_quantity, price FROM products WHERE stock_quantity < 50;

4,复杂语义SQL解析

【测试1】

你是一个资深的数据分析师,负责为公司的业务部门从数据库中提取关键数据。请根据以下复杂的自然语言业务需求,编写一条等价的 SQL 查询语句,并确保语义准确、逻辑严谨、结果符合业务预期。

【业务需求】找出在 2023 年第二季度内,购买了 "旗舰X200" 产品的客户中,总消费金额排名前 10 的客户姓名和他们所在的城市,要求这些客户的订单中至少包含一次“线上”支付,并且不包含任何“退款”记录。

【数据库表结构说明】
1. customers(id, name, city)
2. orders(id, customer_id, order_date, payment_method, status)
3. order_items(id, order_id, product_name, quantity, price)

说明:
- 一个 customer 可以有多个 orders;
- 一个 order 包含多个 order_items;
- payment_method 可能的值有 '线上', '线下';
- status 可能的值有 '已完成', '退款', '取消';
- order_date 是日期格式。

【额外说明】
- 请仅返回 SQL 语句,不要附带解释;
- 若需使用子查询、联结或聚合,请合理安排;
- 所有字段和表名都来自上述数据库结构;
- 尽可能使用标准 SQL 语法,确保在 MySQL 或 PostgreSQL 上兼容。

【返回格式】
```sql
-- SQL 查询语句
SELECT ...

【测试结果】Qwen3 235B-A22B & DeepSeek-R1 671B-A37B 胜出

  • deepseek-r1:7,有效筛选客户,但金额统计和子条件时间范围不严谨
  • qwen3-32b:9,少量语义模糊
  • qwq:32b:10
  • qwen3-30b-a3b:6,子查询没有限定时间
  • qwen3-235b-a22b:10
# deepseek-r1
SELECT c.name, c.city, SUM(oi.quantity * oi.price) AS total_amount
FROM customers c
JOIN orders o ON c.id = o.customer_id
JOIN order_items oi ON o.id = oi.order_id
WHERE c.id IN (SELECT DISTINCT o.customer_idFROM orders oJOIN order_items oi ON o.id = oi.order_idWHERE oi.product_name = '旗舰X200'AND o.order_date BETWEEN '2023-04-01' AND '2023-06-30'
)
AND EXISTS (SELECT 1FROM orders o2WHERE o2.customer_id = c.idAND o2.payment_method = '线上'
)
AND NOT EXISTS (SELECT 1FROM orders o3WHERE o3.customer_id = c.idAND o3.status = '退款'
)
GROUP BY c.id, c.name, c.city
ORDER BY total_amount DESC
LIMIT 10;
# qwen3-32b
SELECT c.name, c.city, SUM(CASE WHEN o.status = '已完成' THEN oi.quantity * oi.price ELSE 0 END) AS total_spent
FROM customers c
JOIN orders o ON c.id = o.customer_id
JOIN order_items oi ON o.id = oi.order_id
WHERE oi.product_name = '旗舰X200'AND o.order_date BETWEEN '2023-04-01' AND '2023-06-30'
GROUP BY c.id, c.name, c.city
HAVING SUM(CASE WHEN o.status = '退款' THEN 1 ELSE 0 END) = 0AND SUM(CASE WHEN o.payment_method = '线上' AND o.status = '已完成' THEN 1 ELSE 0 END) >= 1
ORDER BY total_spent DESC
LIMIT 10;
# qwq:32b
SELECT c.name, c.city, SUM(oi.quantity * oi.price) AS total_spent
FROM customers c
JOIN orders o ON c.id = o.customer_id
JOIN order_items oi ON o.id = oi.order_id
WHERE o.order_date BETWEEN '2023-04-01' AND '2023-06-30'
AND c.id IN (SELECT DISTINCT o2.customer_idFROM orders o2JOIN order_items oi2 ON o2.id = oi2.order_idWHERE o2.order_date BETWEEN '2023-04-01' AND '2023-06-30'AND oi2.product_name = '旗舰X200'
)
GROUP BY c.id, c.name, c.city
HAVING EXISTS (SELECT 1FROM orders o3WHERE o3.customer_id = c.idAND o3.payment_method = '线上'AND o3.order_date BETWEEN '2023-04-01' AND '2023-06-30')AND NOT EXISTS (SELECT 1FROM orders o4WHERE o4.customer_id = c.idAND o4.status = '退款'AND o4.order_date BETWEEN '2023-04-01' AND '2023-06-30')
ORDER BY total_spent DESC
LIMIT 10;
# qwen3-30b-a3b
SELECT c.name, c.city, SUM(oi.quantity * oi.price) AS total_spent
FROM customers c
JOIN orders o ON c.id = o.customer_id
JOIN order_items oi ON o.id = oi.order_id
WHERE o.order_date BETWEEN '2023-04-01' AND '2023-06-30'AND oi.product_name = '旗舰X200'AND o.status != '退款'AND c.id NOT IN (SELECT customer_id FROM orders WHERE status = '退款')
GROUP BY c.id, c.name, c.city
HAVING SUM(CASE WHEN o.payment_method = '线上' THEN 1 ELSE 0 END) >= 1
ORDER BY total_spent DESC
LIMIT 10;
# qwen3-235b-a22b
SELECT c.name, c.city, SUM(oi.quantity * oi.price) AS total_spent
FROM customers c
JOIN orders o ON c.id = o.customer_id
JOIN order_items oi ON o.id = oi.order_id
WHERE o.order_date BETWEEN '2023-04-01' AND '2023-06-30'AND NOT EXISTS (SELECT 1FROM orders o2WHERE o2.customer_id = c.idAND o2.order_date BETWEEN '2023-04-01' AND '2023-06-30'AND o2.status = '退款')AND EXISTS (SELECT 1FROM orders o3JOIN order_items oi2 ON o3.id = oi2.order_idWHERE o3.customer_id = c.idAND o3.order_date BETWEEN '2023-04-01' AND '2023-06-30'AND oi2.product_name = '旗舰X200')
GROUP BY c.id, c.name, c.city
HAVING SUM(CASE WHEN o.payment_method = '线上' THEN 1 ELSE 0 END) >= 1
ORDER BY total_spent DESC
LIMIT 10;

5,SQL 语句理解

你是一个数据库专家,请仔细阅读以下表结构和 SQL 查询,只用一句话描述出该SQL查询的作用。

表结构:

-- 用户表
CREATE TABLE users (user_id INT PRIMARY KEY,name VARCHAR(50),signup_date DATETIME,referrer_id INT
);-- 订单表
CREATE TABLE orders (order_id INT PRIMARY KEY,user_id INT,product_id INT,order_date DATETIME,amount DECIMAL(10,2),status ENUM('pending', 'completed', 'canceled')
);-- 产品表
CREATE TABLE products (product_id INT PRIMARY KEY,category_id INT,price DECIMAL(10,2),name VARCHAR(100)
);-- 类别表
CREATE TABLE categories (category_id INT PRIMARY KEY,category_name VARCHAR(50)
);-- 售后表
CREATE TABLE refunds (refund_id INT PRIMARY KEY,order_id INT,refund_amount DECIMAL(10,2),refund_date DATETIME
);

SQL 查询:

SELECT u.name AS user_name,COUNT(DISTINCT o.order_id) AS total_orders,SUM(CASE WHEN o.status = 'completed' THEN o.amount ELSE 0 END) AS completed_amount,(SELECT COUNT(*) FROM orders o2 WHERE o2.user_id = u.user_id AND o2.status = 'canceled' AND EXISTS (SELECT 1 FROM refunds r WHERE r.order_id = o2.order_id AND r.refund_amount > (SELECT AVG(p.price) FROM products p WHERE p.category_id IN (SELECT category_id FROM products WHERE product_id = o2.product_id)))) AS suspicious_cancellations,(SELECT GROUP_CONCAT(DISTINCT c.category_name)FROM categories cWHERE c.category_id IN (SELECT p.category_idFROM products pWHERE p.product_id IN (SELECT o3.product_idFROM orders o3WHERE o3.user_id = u.user_idAND o3.order_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 MONTH) AND CURDATE()))) AS recent_categories
FROM users u
LEFT JOIN orders o ON u.user_id = o.user_id
WHERE u.signup_date < DATE_SUB(NOW(), INTERVAL 1 YEAR)AND EXISTS (SELECT 1 FROM users u2 WHERE u2.user_id = u.referrer_id AND EXISTS (SELECT 1 FROM orders o4 WHERE o4.user_id = u2.user_id AND o4.status = 'completed'AND o4.amount > 1000))
GROUP BY u.user_id, u.name
HAVING completed_amount > 500AND suspicious_cancellations > 1
ORDER BY completed_amount DESC
LIMIT 10;

【测试结果】正确答案:找出注册时间超过一年的活跃高消费用户(Top 10),并标记他们是否有未解决的投诉。

  • deepseek-r1:9
  • qwen3-32b:10
  • qwq:32b:6
  • qwen3-30b-a3b:7
  • qwen3-235b-a22b:9.5
# deepseek-r1
该SQL查询的作用是:筛选出注册超过一年、推荐人有大额成交订单的用户中,完成订单金额超过500且存在超过1次退款金额高于同类产品均价的异常取消订单的用户,统计其总订单数、完成金额、可疑取消次数及最近半年的购买品类,并按完成金额降序取前10名。# qwen3-32b
该SQL查询旨在找出注册超过一年且由推荐人(推荐人至少有一个金额超过1000的已完成订单)引入的用户,统计他们的总订单数、已完成订单金额、可疑取消订单数(取消订单的退款金额超过对应产品类别的平均价格)及最近6个月购买的产品类别,筛选出已完成金额超500且可疑取消订单数超1的用户,按已完成金额降序返回前10名。# qwq:32b
该SQL查询用于筛选出注册超过1年的用户中,由成功推荐人推荐、且在过去6个月有可疑退款行为(退款金额超过产品所属类别均价的取消订单超过1次)、年度完成订单金额超500元的用户,并统计其订单数、完成金额、可疑取消次数及近期购买品类,最终按消费金额降序取前10名。# qwen3-30b-a3b
该SQL查询用于识别注册超过一年、其推荐人有大额订单的用户,统计其总订单数、完成金额,并筛选出存在多个可疑取消订单(退款金额高于所购产品类别的平均价格)及近期购买多类商品的高价值用户,按完成金额降序排列前10名。# qwen3-235b-a22b
该SQL查询用于筛选出注册时间超过一年、其推荐人有过单笔订单金额超1000元的用户中,自身有效订单总金额超过500元且存在两个以上可疑取消订单(取消后退款金额高于同类商品均价)的用户,并展示其最近六个月购买过的商品类别,按有效订单金额降序返回前十名用户信息。

6,SQL 补全改写

你正在维护一个销售分析系统。现在有一个 SQL 片段用于分析客户的购买行为,但由于开发中断,该 SQL 残缺不全。请你根据提供的语义和表结构,尝试补写和改全这个 SQL,使其逻辑完整并可以在 MySQL 中正确执行,只需要输出缺失部分即可。

数据库结构(部分):

-- 用户表
CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(100),phone VARCHAR(20)
);-- 订单表
CREATE TABLE orders (id INT PRIMARY KEY,user_id INT,amount DECIMAL(10,2),order_time DATETIME,FOREIGN KEY (user_id) REFERENCES users(id)
);

任务目标语义:我们希望找出在过去3个月中,连续两次下单金额均高于该用户平均订单金额的用户姓名、联系方式、以及他们最近一次下单的时间。

初步 SQL 查询语句:

SELECT u.name, u.phone, latest_order_time
FROM users u
JOIN (SELECT user_id, MAX(order_time) AS latest_order_timeFROM ordersWHERE order_time >= DATE_SUB(NOW(), INTERVAL 3 MONTH)GROUP BY user_id
) t ON u.id = t.user_id
WHERE u.id IN (-- 请补全这个子查询

【测试结果】

  • deepseek-r1:8.0,使用窗口函数但平均值时间范围错误
  • qwen3-32b:7.0,不保证连续性
  • qwq:32b:5.0,差异过大
  • qwen3-30b-a3b:9.0
  • qwen3-235b-a22b:9.5
# deepseek-r1
SELECT DISTINCT user_id
FROM (SELECT o.user_id,o.amount,ua.avg_amount,LEAD(o.amount) OVER (PARTITION BY o.user_id ORDER BY o.order_time) AS next_amountFROM orders oJOIN (SELECT user_id, AVG(amount) AS avg_amountFROM ordersGROUP BY user_id) ua ON o.user_id = ua.user_idWHERE o.order_time >= DATE_SUB(NOW(), INTERVAL 3 MONTH)
) t
WHERE t.amount > t.avg_amount AND t.next_amount > t.avg_amount
)# qwen3-32b
SELECT user_id
FROM (SELECT o.user_id,o.amount,ROW_NUMBER() OVER (PARTITION BY o.user_id ORDER BY o.order_time DESC) AS rn,(SELECT AVG(amount) FROM orders o2 WHERE o2.user_id = o.user_id AND o2.order_time >= DATE_SUB(NOW(), INTERVAL 3 MONTH)) AS avg_amountFROM orders oWHERE o.order_time >= DATE_SUB(NOW(), INTERVAL 3 MONTH)
) ranked
WHERE rn <= 2 AND amount > avg_amount
GROUP BY user_id
HAVING COUNT(*) = 2# qwq:32b
SELECT user_id FROM orders o JOIN ( SELECT user_id, AVG(amount) AS avg_amt FROM orders GROUP BY user_id ) a ON o.user_id = a.user_id WHERE o.order_time >= DATE_SUB(NOW(), INTERVAL 3 MONTH) AND o.amount > a.avg_amt GROUP BY o.user_id HAVING COUNT(*) >= 2# qwen3-30b-a3b
SELECT user_id
FROM (SELECT user_id,amount,ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY order_time DESC) AS rnFROM ordersWHERE order_time >= DATE_SUB(NOW(), INTERVAL 3 MONTH)
) AS ranked
WHERE rn <= 2
GROUP BY user_id
HAVING MAX(CASE WHEN rn = 1 THEN amount END) > (SELECT AVG(amount) FROM orders WHERE user_id = ranked.user_id)AND MAX(CASE WHEN rn = 2 THEN amount END) > (SELECT AVG(amount) FROM orders WHERE user_id = ranked.user_id)# qwen3-235b-a22b
SELECT user_id
FROM (SELECT o.user_id,o.amount AS curr_amount,LAG(o.amount) OVER (PARTITION BY o.user_id ORDER BY o.order_time) AS prev_amount,ua.avg_amountFROM orders oINNER JOIN (SELECT user_id, AVG(amount) AS avg_amountFROM ordersGROUP BY user_id) ua ON o.user_id = ua.user_idWHERE o.order_time >= DATE_SUB(NOW(), INTERVAL 3 MONTH)
) t
WHERE curr_amount > avg_amount AND prev_amount > avg_amount

7,SQL 修改纠正

任务:你将看到一条SQL查询语句及其语义描述。该查询语句存在某些错误,需要你帮助修正。请仔细检查并修复SQL中的错误。错误可能非常隐蔽,要求你深刻理解语法和语义,确保修复后的查询语句能够正确执行。只返回修改后的SQL语句即可。

给定 SQL 查询语句:

SELECT users.name, orders.product, payments.payment_amount 
FROM users
JOIN orders ON users.id = orders.user_id 
JOIN payments ON orders.order_id = payments.order_id 
WHERE users.age > 25 AND payments.payment_date > '2024-01-01' AND orders.order_date = '2024-01-01'AND orders.amount > 100
ORDER BY payments.payment_amount DESC;

表结构:

  • users 表: id INT PRIMARY KEY name VARCHAR(100) email VARCHAR(100) age INT
  • orders 表: order_id INT PRIMARY KEY user_id INT product VARCHAR(100) order_date DATE amount DECIMAL(10, 2)
  • payments 表: payment_id INT PRIMARY KEY order_id INT payment_date DATE payment_amount DECIMAL(10, 2)

语义:从users表中查询所有年龄大于25的用户的名字,查询他们的订单信息(包括产品和支付金额)。只返回在2024年1月1日之后付款的订单,且订单金额大于100。

【测试结果】

  • deepseek-r1:10
  • qwen3-32b:10
  • qwq:32b:10
  • qwen3-30b-a3b:6
  • qwen3-235b-a22b:10
# deepseek-r1
SELECT users.name, orders.product, payments.payment_amount 
FROM users
JOIN orders ON users.id = orders.user_id 
JOIN payments ON orders.order_id = payments.order_id 
WHERE users.age > 25 AND payments.payment_date > '2024-01-01' AND orders.amount > 100
ORDER BY payments.payment_amount DESC;# qwen3-32b
SELECT users.name, orders.product, payments.payment_amount FROM users JOIN orders ON users.id = orders.user_id JOIN payments ON orders.order_id = payments.order_id WHERE users.age > 25 AND payments.payment_date > '2024-01-01' AND orders.amount > 100 ORDER BY payments.payment_amount DESC;# qwq:32b
SELECT users.name, orders.product, payments.payment_amount FROM users JOIN orders ON users.id = orders.user_id JOIN payments ON orders.order_id = payments.order_id WHERE users.age > 25 AND payments.payment_date > '2024-01-01' AND orders.amount > 100 ORDER BY payments.payment_amount DESC;# qwen3-30b-a3b
SELECT users.name, orders.product, payments.payment_amount FROM users JOIN orders ON users.id = orders.user_id JOIN payments ON orders.order_id = payments.order_id WHERE users.age > 25 AND payments.payment_date > '2024-01-01' AND orders.order_date = '2024-01-01' AND orders.amount > 100 ORDER BY payments.payment_amount DESC;# qwen3-235b-a22b
SELECT users.name, orders.product, payments.payment_amount FROM users JOIN orders ON users.id = orders.user_id JOIN payments ON orders.order_id = payments.order_id WHERE users.age > 25 AND payments.payment_date > '2024-01-01' AND orders.amount > 100 ORDER BY payments.payment_amount DESC;

相关文章:

Qwen:Qwen3,R1 在 Text2SQL 效果评估

【对比模型】 Qwen3 235B-A22B&#xff08;2350亿总参数&#xff0c;220亿激活参数&#xff09;&#xff0c;32B&#xff0c;30B-A3B&#xff1b;QwQ 32B&#xff08;推理模型&#xff09;DeepSeek-R1 671B&#xff08;满血版&#xff09;&#xff08;推理模型&#xff09; 1&a…...

【layout组件 与 路由镶嵌】vue3 后台管理系统

前言 很多同学在第一次搭建后台管理系统时&#xff0c;会遇到一个问题&#xff0c;layout组件该放哪里&#xff1f;如何使用&#xff1f;路由又该如何设计&#xff1f; 这边会讲一下我的思考过程和最后的结果&#xff0c;大家可以参考一下&#xff0c;希望大家看完能有所收获。…...

mobile自动化测试-appium webdriverio

WebdriverIO是一款支持mobile app和mobile web自动化测试框架&#xff0c;与appium集成&#xff0c;完成对mobile应用测试。支持ios 和android两种平台&#xff0c;且功能丰富&#xff0c;是mobile app自动化测试首选框架。且官方还提供了mobile 应用测试example代码&#xff0…...

Spring Bean有哪几种配置方式?

大家好&#xff0c;我是锋哥。今天分享关于【Spring Bean有哪几种配置方式&#xff1f;】面试题。希望对大家有帮助&#xff1b; Spring Bean有哪几种配置方式&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Spring Bean的配置方式主要有三种&#xff…...

解析小米大模型MiMo:解锁语言模型推理潜力

一、基本介绍 1.1 项目背景 在大型语言模型快速发展的背景下,小米AI团队推出MiMo系列模型,突破性地在7B参数规模上实现卓越推理能力。传统观点认为32B以上模型才能胜任复杂推理任务,而MiMo通过创新的训练范式证明:精心设计的预训练和强化学习策略,可使小模型迸发巨大推理…...

证券行业数字化转型:灵雀云架设云原生“数字高速路”

01 传统架构难承重负&#xff0c;云原生破局成必然 截至2024年&#xff0c;证券行业总资产突破35万亿元&#xff0c;线上交易占比达85%&#xff0c;高频交易、智能投顾等业务对算力与响应速度提出极限要求。然而&#xff0c;以虚拟化为主导的传统IT架构面临四大核心瓶颈&#…...

Centos系统详解架构详解

CentOS 全面详解 一、CentOS 概述 CentOS&#xff08;Community Enterprise Operating System&#xff09; 是基于 Red Hat Enterprise Linux&#xff08;RHEL&#xff09; 源代码构建的免费开源操作系统&#xff0c;专注于稳定性、安全性和长期支持&#xff0c;广泛应用于服…...

【后端】SpringBoot用CORS解决无法跨域访问的问题

SpringBoot用CORS解决无法跨域访问的问题 一、跨域问题 跨域问题指的是不同站点之间&#xff0c;使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制&#xff0c;它的初衷是为了保证用户的安全&#xff0c;防止恶意网站窃取数据。但这个保护机制也带来了新的…...

MySQL 8.0(主从复制)

MySQL 8.0 的 主从复制&#xff08;Master-Slave Replication&#xff09; 是一种数据库高可用和数据备份的核心技术&#xff0c;下面用 一、什么是主从复制&#xff1f; 就像公司的「领导-秘书」分工&#xff1a; 主库&#xff08;Master&#xff09;&#xff1a;负责处理所…...

TCPIP详解 卷1协议 十 用户数据报协议和IP分片

10.1——用户数据报协议和 IP 分片 UDP是一种保留消息边界的简单的面向数据报的传输层协议。它不提供差错纠正、队列管理、重复消除、流量控制和拥塞控制。它提供差错检测&#xff0c;包含我们在传输层中碰到的第一个真实的端到端&#xff08;end-to-end&#xff09;校验和。这…...

finebi使用资源迁移无法导入资源,解决方法

finebi使用资源迁移无法导入资源&#xff0c;解决方法 最近在使用finebi开发finebi报表&#xff0c;报表开发之后&#xff0c;从一台电脑将资源导入另一台电脑后&#xff0c;出现不允许导入的提示&#xff0c;如下&#xff1a; 原因&#xff1a; 两个finebi的管理员名称不一致…...

【ASR学习笔记】:语音识别领域基本术语

一、基础术语 ASR (Automatic Speech Recognition) 自动语音识别&#xff0c;把语音信号转换成文本的技术。 VAD (Voice Activity Detection) 语音活动检测&#xff0c;判断一段音频里哪里是说话&#xff0c;哪里是静音或噪音。 Acoustic Model&#xff08;声学模型&#xff0…...

精益数据分析(53/126):双边市场模式指标全解析与运营策略深度探讨

精益数据分析&#xff08;53/126&#xff09;&#xff1a;双边市场模式指标全解析与运营策略深度探讨 在创业与数据分析的探索之路上&#xff0c;深入了解各类商业模式的关键指标和运营策略至关重要。今天&#xff0c;我们依然怀揣着与大家共同进步的信念&#xff0c;深入研读…...

分布式锁redisson的中断操作

1、先贴代码 RequestMapping(value "/update", method RequestMethod.POST)ResponseBodypublic Result update(RequestBody Employee employee) { // 修改数据库&#xff08;存在线程不安全 需要使用redison设置分布式锁 防止被修改&#xff09; // 设…...

【技巧】使用frpc点对点安全地内网穿透访问ollama服务

回到目录 【技巧】使用frpc点对点安全地内网穿透访问ollama服务 0. 为什么需要部署内网穿透点对点服务 在家里想访问单位强劲机器&#xff0c;但是单位机器只能单向访问互联网&#xff0c;互联网无法直接访问到这台机器。通过在云服务器、单位内网服务器、源端访问机器上&am…...

Django缓存框架API

这里写自定义目录标题 访问缓存django.core.cache.cachesdjango.core.cache.cache 基本用法cache.set(key, value, timeoutDEFAULT_TIMEOUT, versionNone)cache.get(key, defaultNone, versionNone)cache.add(key, value, timeoutDEFAULT_TIMEOUT, versionNone)cache.get_or_se…...

克隆虚拟机组成集群

一、克隆虚拟机 1. 准备基础虚拟机 确保基础虚拟机已安装好操作系统&#xff08;如 Ubuntu&#xff09;、Java 和 Hadoop。关闭防火墙并禁用 SELinux&#xff08;如适用&#xff09;&#xff1a; bash sudo ufw disable # Ubuntu sudo systemctl disable firewalld # CentO…...

Docker:安装配置教程(最新版本)

文章目录 一、前言二、具体操作2.1 卸载 Docker (可选)2.2 重新安装&#xff08;使用清华大学镜像&#xff09;2.3 配置轩辕镜像加速2.4 Docker 基本命名2.5 测试是否成功 三、结语 一、前言 Docker 是一种容器化技术&#xff0c;在软件开发和部署中得到广泛的应用&#xff0c…...

R语言实战第5章(1)

第一部分&#xff1a;数学、统计和字符处理函数 数学和统计函数&#xff1a;R提供了丰富的数学和统计函数&#xff0c;用于执行各种计算和分析。这些函数可以帮助用户快速完成复杂的数学运算、统计分析等任务&#xff0c;例如计算均值、方差、相关系数、进行假设检验等。字符处…...

Redis设计与实现——单机Redis实现

RedisDB RedisDB的核心结构 键空间&#xff08;dict*dict&#xff09; 结构&#xff1a;哈希表&#xff08;字典&#xff09;&#xff0c;键为字符串对象&#xff08;SDS&#xff09;&#xff0c;值为 Redis 对象&#xff08;字符串、列表、哈希等&#xff09;。 功能&#x…...

neo4j官方示例

目录 一、准备数据 1.执行查看结果 二、操作 1.find 单个节点 2.同上&#xff0c;已某个属性去查询 3. 指定查询个数 4.条件查询 5.查询某个人出演的电影汇总 6.查询tom出演的电影中&#xff0c;还有其他演员的信息。 7.查询跟电影(Cloud Atlas)有关的演员&#xff0…...

探讨关于智能体(Agent)结合 Dify、大语言模型(LLM)以及 Qwen-3 模型的项目或概念

1. Dify 的作用 Dify 是一个开源的 AI 框架&#xff0c;它可以帮助开发者快速搭建和部署 AI 应用。它可以作为一个基础架构&#xff0c;为智能体提供以下支持&#xff1a; 应用开发与部署&#xff1a;Dify 可以帮助开发者快速搭建智能体的前端和后端架构&#xff0c;包括用户界…...

前端自学入门:HTML 基础详解与学习路线指引

在互联网的浪潮中&#xff0c;前端开发如同构建数字世界的基石&#xff0c;而 HTML 则是前端开发的 “入场券”。对于许多渴望踏入前端领域的初学者而言&#xff0c;HTML 入门是首要挑战。本指南将以清晰易懂的方式&#xff0c;带大家深入了解 HTML 基础&#xff0c;并梳理前端…...

C++.Windows图形

Windows图形 1. 基础知识1.1 Windows图形编程基础1.2 GDI与GDI+1.3 窗口消息处理2.1 注册窗口类2.2 创建窗口2.3 显示窗口3.1 创建按钮3.2 按钮消息处理4.1 设置窗口透明度4.2 透明窗口示例5.1 使用区域创建异形窗口5.2 异形窗口示例6.1 GDI+抗锯齿设置6.2 抗锯齿绘图示例7.1 D…...

vue实现与后台springboot传递数据【传值/取值 Axios 】

vue实现与后台springboot传递数据【传值/取值】 提示&#xff1a;帮帮志会陆续更新非常多的IT技术知识&#xff0c;希望分享的内容对您有用。本章分享的是node.js和vue的使用。前后每一小节的内容是存在的有&#xff1a;学习and理解的关联性。【帮帮志系列文章】&#xff1a;每…...

【英语笔记(三)】介绍谓语动词的分类,初步讲解四种基本状态:一般、进行、完成、完成进行

1. 五大类谓语动词 2. 谓语动词分类 3. 动词时间 过去--------------------------现在-----------------------未来 3. 动词状态 3.1 进行状态 3.2 完成状态 3.3 完成进行状态 3.4 一般状态 4. 时间 状态 名称说明例句现在现在现在现在进行时态现在某物正在做什么事情一只…...

【Python】让Selenium 像Beautifulsoup一样,用解析HTML 结构的方式提取元素!

我在使用selenium的find_element的方式去获取网页元素&#xff0c;一般通过xpath、css_selector、class_name的方式去获取元素的绝对位置。 但是有时候如果网页多了一些弹窗或者啥之类的&#xff0c;绝对位置会发生变化&#xff0c;使用xpath等方法&#xff0c;需要经常变动。…...

2025 后端自学UNIAPP【项目实战:旅游项目】3、API接口请求封装,封装后的简单测试以及实际使用

一、创建请求封装目录 选中自己的项目&#xff0c;右键鼠标---->新建---->目录---->名字自定义【我的是api】 二、创建两个js封装文件 选中封装的目录&#xff0c;右键鼠标---->新建---->js文件---->名字自定义【我的两个js文件分别是my_http和my_api】 三…...

Mysql--基础知识点--91.2--processlist

在 MySQL 中&#xff0c;SHOW PROCESSLIST 是一个常用命令&#xff0c;用于查看当前数据库服务器上所有正在运行的线程&#xff08;进程&#xff09;信息。以下是关键点说明&#xff1a; 1. 命令用法 SHOW FULL PROCESSLIST;输出字段&#xff1a; 列名含义Id线程唯一标识符&am…...

C#中程序集的详解一

程序集&#xff08;Assembly&#xff09;是 .NET 平台中的一个重要概念&#xff0c;它是代码和资源的逻辑单元&#xff0c;也是应用程序的部署、版本控制和安全权限的最小单位。下面详细介绍其定义和常见用法&#xff1a; 1. 程序集的定义 程序集是 .NET 应用程序的构建块&am…...