NineData第三届数据库编程大赛:用一条SQL解数独问题

2025第三届数据库编程大赛正式开启!本次大赛由 NineData 和云数据库技术社区主办,并联合佰晟智算、达梦数据、 ITPUB、CSDN、IFclub、开源中国、DataFun、墨天轮等技术社区,共同举办了本次《第三届数据库编程大赛》,诚邀各路数据库以及编程技术大牛踊跃参与!

 

 
数独是一种经典的逻辑推理游戏,其规则简洁而富有挑战性,玩法核心围绕已知数字,运用排除法、唯一法等逻辑推理技巧,逐步确定所有空格中的数字。本届大赛延续 "一条 SQL" 的核心挑战,设置题目为「用一条 SQL」解数独问题
往期大赛回顾:
2023年数据库编程大赛回顾一条SQL计算扑克牌24点
2024年数据库编程大赛回顾一条SQL秒杀100万张火车票
 
01
 
大赛奖品
本次数据库编程大赛的奖项安排:一等奖(1人)、二等奖(2人)、三等奖(3人)、阳光普照纪念奖(50人)。
  • 一等奖(1人):大疆无人机 DJI NEO 2 畅飞套装 1 组 + 奖杯
  • 二等奖(2人Fuzozo 芙崽AI情感陪伴机器人 1 个 + 奖杯
  • 三等奖(3人):华为蓝牙耳机 1 个 + 奖杯
  • 阳光普照纪念奖(50人:办公养生壶 1 个
数据库编程大赛奖品,欢迎来挑战!
 
02
 
比赛玩法
参赛时间
开赛提交2025.12.23 ~ 2026.01.08 22:00 截止
测试评分2026.01.092026.01.10

决赛答辩2026.01.12(在线)

比赛题目
数独是一个非常流行的益智数字游戏,常见有四宫格和九宫格模式,其规则简洁而富有挑战性。在本届大赛中,我们设置了两个难度级别:
 
 

1. 普通挑战

完成普通挑战的前50名选手

即可获得参赛纪念奖品

 

四宫格数独

在 4×4 方格内填入 1-4 的数字,要求每行每列和上下、左右每小组的 4 个数字不能重复。

普通挑战(sudoku 4_4
  • 数据规模: 100 rows
  • 使用一条 SQL 给出如下图结果。字段 id 为自增字段的数字主键,字段 puzzle 是题目内容,由 4×4 个数字组成,问号表示未知的数字,其中 result 字段是选手需要给出数独的解。 

要求选手使用一条SQL给出如下结果:

 

 

完成普通挑战,可以进一步参加进阶挑战

(注:提交进阶挑战SQL前必须先提交普通挑战的SQL)
 
 

2. 进阶挑战

性能得分加解题正确性得分排名前8

成绩进入决赛评选

九宫格数独

在 9×9 的方格内填入 1-9 的数字,要求每行每列和上中下、左中右每 3*3 小组的 9 个数字不能重复。

进阶挑战 ( sudoku 9_9 )

  • 数据规模: 1000~100万 rows

  • 使用一条 SQL 给出如下图的结果。字段 id 为自增字段的数字主键,字段 puzzle 是题目内容,由 9×9 个数字组成,问号表示未知的数字。其中 result 字段是选手需要给出数独的解。

要求选手使用一条SQL给出如下结果:

 

 

 
03
 
比赛规则与约束

规则与约束

SQL要求

  • 仅允许使用一条SQL语句允许使用数据库内置函数不允许使用存储过程/自定义函数和代码块。

  • SQL执行时间不超过5分钟超过5分钟则认为成绩无效。

校验与运行环境

  • 参赛者可以在以下环境中自行验证 SQL 的正确性:1. NineData平台demo数据库2.参赛者自有数据库环境

  • 组委会评测环境配置:4核CPU,32GB内存

提交规则

  • 每位参赛者最多可提交 10 次比赛代码,提交的 SQL 不能超过 10 KB大小以最后一次提交的 SQL作为最终参赛代码

诚信与原创性要求

  • 选手个人诚信参赛,不允许提交他人比赛代码。如发现 SQL 方案高度相似工作组以第一个提交的为有效参赛

  • 严禁互相抄袭答案,如果发现有雷同代码,组委会将取消成绩。

测试数据与验证流程
  1. 进入 NineData 官网(https://www.ninedata.cloud),注册并登录 NineData 控制台

  2. 打开 SQL 窗口,申请一个 mysql demo 数据库

  3. 查询 demo 表数据,game3.sudoku4_4, game3.sudoku9_9 

  4. 在 SQL 窗口编写参赛 SQL 并验证逻辑

  5. 在 NineData 官网提交参赛 SQL

参赛数据库

大赛可以使用的数据库种类以及相应支持版本:

 
04
 
参赛提交
通过数据库编程大赛入口报名,提交SQL答案的表单。参赛人员需要提交信息:1. 姓名、2. 邮箱、3. 联系方式、4. 数据库类型 、5. 数据库版本、6. SQL、7. 算法说明。
方式一:官网提交
登录 NineData 官网,参赛地址:https://www.ninedata.cloud/sql_sudo2025
方式二:公众号后台
NineData 公众号后台回复「数据库编程」,立即获得参赛入口链接。
方式三:数据库编程大赛群
扫码进群后,自动获得参赛活动地址和提交答案入口。
 

2025数据库编程大赛群

  欢迎加入,一起交流!

 
 
05
 
大赛评选规则
本次大赛的评委,均是数据库领域的领军人物,通过主办方NineData的邀请,组成2025年第三届《数据库编程大赛》强大的评审嘉宾团。
《第三届数据库编程大赛》评审嘉宾团
本次大赛主要会从以下4个方面评审,一定要注意下面的评审规则!
正确解题数量排名30%
总得分占比30%,组委会验证:第一名30分,第二名25分,第三名22分,第四名20分,第5名19分,后面每排名下降一名减少1分,以此类推,最低得10分。
性能30%
总得分占比30%,组委会给出测试成绩(第一名30分,第二名25分,第三名22分,第四名20分,第5名19分,后面每排名下降一名减少1分,以此类推,最低得10分),总得分占比30%。进阶挑战,sudoku9_9表的记录数1000~100万。
代码创新性(20%
总得分占比 20% ,由评委打分( 0~20 分)
代码易读性(20%
总得分占比 20% ,由评委打分( 0~20 分)
 
06
 
赛事日程
本次大赛提交答题的截止时间:2026 年 01 月 08 日22:00点
大赛时间安排
👇👇 点击"阅读原文"立即报名参赛