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

-
一等奖(1人):大疆无人机 DJI NEO 2 畅飞套装 1 组 + 奖杯 -
二等奖(2人):Fuzozo 芙崽AI情感陪伴机器人 1 个 + 奖杯 -
三等奖(3人):华为蓝牙耳机 1 个 + 奖杯 -
阳光普照纪念奖(50人):办公养生壶 1 个

决赛答辩:2026.01.12(在线)

1. 普通挑战
完成普通挑战的前50名选手
即可获得参赛纪念奖品
四宫格数独
在 4×4 方格内填入 1-4 的数字,要求每行每列和上下、左右每小组的 4 个数字不能重复。

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


完成普通挑战,可以进一步参加进阶挑战
2. 进阶挑战
性能得分加解题正确性得分排名前8
成绩进入决赛评选
九宫格数独
在 9×9 的方格内填入 1-9 的数字,要求每行每列和上中下、左中右每 3*3 小组的 9 个数字不能重复。

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


规则与约束
SQL要求
-
仅允许使用一条SQL语句,允许使用数据库内置函数,不允许使用存储过程/自定义函数和代码块。
-
SQL执行时间不超过5分钟,超过5分钟则认为成绩无效。
校验与运行环境
-
参赛者可以在以下环境中自行验证 SQL 的正确性:1. NineData平台demo数据库、2.参赛者自有数据库环境
-
组委会评测环境配置:4核CPU,32GB内存
提交规则
-
每位参赛者最多可提交 10 次比赛代码,提交的 SQL 不能超过 10 KB大小,以最后一次提交的 SQL作为最终参赛代码
诚信与原创性要求
-
选手个人诚信参赛,不允许提交他人比赛代码。如发现 SQL 方案高度相似,工作组以第一个提交的为有效参赛
-
严禁互相抄袭答案,如果发现有雷同代码,组委会将取消成绩。
-
进入 NineData 官网(https://www.ninedata.cloud),注册并登录 NineData 控制台
-
打开 SQL 窗口,申请一个 mysql demo 数据库
-
查询 demo 表数据,game3.sudoku4_4, game3.sudoku9_9
-
在 SQL 窗口编写参赛 SQL 并验证逻辑
-
在 NineData 官网提交参赛 SQL
参赛数据库
大赛可以使用的数据库种类以及相应支持版本:




2025数据库编程大赛群
欢迎加入,一起交流!


