news 2026/5/1 11:08:39

利用DeepSeek辅助编写PostgreSQL数独路径查询SQL

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
利用DeepSeek辅助编写PostgreSQL数独路径查询SQL

已知表tab1结构包含iter,op,bs列,其中iter是迭代序号,按行递增,op是操作类型,包括初始化、确定填充、猜测、回溯,bs是数独81字符长字符串盘面,0代表未知数,编写postgresql 语法SQL查询从初始化(第一行)到最终完成(最后一行)的路径。排除不成功的猜测。提示,用0的个数来判断深度

只告诉它需要的结果,结果它输出了3个备选SQL,都不对。

你的SQL1和SQL2都输出了全部路径,包括错误的猜测。SQL3只输出了2行,所有path都是从0、1一直连续到最后的iter。这些都不对,例如,假设正确结果是3142,tab1表记录如下

0 初始化 0100 1 猜测 2100 2 确定填充 2130 3 确定填充 2134 4 回溯 3100 <--比上一个猜测2100只有第1位不同 5 猜测 3120 6 确定填充 3124 7 回溯 3140 <--比上一个猜测3120只有第3位不同 8 确定填充 3142

希望输出

0 初始化 0100 4 回溯 3100 7 回溯 3140 8 确定填充 3142

注意路径上的后继都比前驱多一个非0的数字,其他位完全一致。只要写一个简洁的SQL,不做别的

这里我写错了一个条件,后继都比前驱多一个非0的数字,他严格执行了,结果查询到半途中断了。然后把我的思路具体化告诉它。

还是不对,我的确定填充有的会一次填充多个数字,将逻辑改为从最后一行完成结果往回搜索,每次找第一个 结果 like 模式的行,其中模式是将字符串中的0替换成_的结果。比如select '1234' like replace('1200','0','_');返回true,而select '1234' like replace('1203','0','_');返回false。只要写一个简洁的SQL,不做别的

终于输出了正确的

WITHRECURSIVE correct_pathAS(-- 起始点:最后一行(完成状态)SELECTiter,op,bsFROMtab1WHEREbsNOTLIKE'%0%'UNIONALL-- 递归往回查找:找到前一步,当前bs匹配前一步bs的模式SELECTt.iter,t.op,t.bsFROMcorrect_path cINNERJOINtab1 tONt.iter<c.iterWHEREc.bsLIKEREPLACE(t.bs,'0','_')-- 确保这是最近的前一步(iter最大的)ANDt.iter=(SELECTMAX(iter)FROMtab1WHEREiter<c.iterANDc.bsLIKEREPLACE(bs,'0','_')))SELECT*FROMcorrect_pathORDERBYiter;

用上述SQL来分析不同选点策略的正确路径,正确路径的步骤数非常相近,但找到它们花费的代价不同。

memory D .read 1230/qpath5.sql ┌───────┬──────────┬───────────────────────────────────────────────────────────────────────────────────┐ │ iter │ op │ bs │ │ int32 │ varchar │ varchar │ ├───────┼──────────┼───────────────────────────────────────────────────────────────────────────────────┤ │ 0 │ 初 始 化 │ 000000003001005600090040070000009050700000008050402000080020090003500100600000000 │ │ 1 │ 确定填充 │ 000000003001005600090040070000009050700050008050402000080020090003500100600000000 │ │ 2 │ 猜 测 │ 000000003001005600090040070000009050700050008050402300080020090003500100600000000 │ │ 3 │ 确定填充 │ 000000003001005600090040070000009050700050008050402300080020090003500100600000030 │ │ 132 │ 回 溯 │ 000000003001005600090040070000009050700050008050402360080020090003500100600000030 │ │ 234 │ 回 溯 │ 000000003001005600090040070000009050700050008059402360080020090003500100600000030 │ │ 235 │ 确定填充 │ 000000003001005609090040070000009050700050908059402360080020090903500100600000030 │ │ 236 │ 猜 测 │ 000000003001005609090040070000009050700050908059402361080020090903500100600000030 │ │ 237 │ 确定填充 │ 000000013001005609090040070000009050700050908859472361080020090903500100600000030 │ │ 238 │ 猜 测 │ 000000013001005609090040070000009050700050908859472361080020090903560100600000030 │ │ 239 │ 确定填充 │ 000000013001005609090040070000009050700050908859472361080020096903560100600000030 │ │ 240 │ 猜 测 │ 000000013001035609090040070000009050700050908859472361080020096903560100600000030 │ │ 241 │ 确定填充 │ 000000013001035609390040070000009050700050908859472361080020096903560100600000030 │ │ 255 │ 回 溯 │ 000000013401035609390040070000009050700050908859472361080020096903560100600000030 │ │ 256 │ 确定填充 │ 000000413401035609390040070000009050700050908859472361080020096903560100600000030 │ │ 260 │ 回 溯 │ 000000413471035609390040070000009050700050908859472361080020096903560100600000030 │ │ 261 │ 猜 测 │ 000000413471235609390040070000009050700050908859472361080020096903560100600000030 │ │ 262 │ 确定填充 │ 000000413471235689390040070000009050700050908859472361080020096903560100600000030 │ │ 263 │ 确定填充 │ 000000413471235689390040070000009050700050908859472361080020096903568100600000830 │ │ 264 │ 确定填充 │ 000000413471235689390040070000009050700050908859472361080020096903568107600000830 │ │ 265 │ 确定填充 │ 000000413471235689390040070000009750700050908859472361080020596903568107600000830 │ │ 266 │ 确定填充 │ 500000413471235689390040275000009750700050908859472361180020596903568107605000830 │ │ 267 │ 确定填充 │ 500000413471235689390040275200009750700050908859472361187020596903568107605000830 │ │ 268 │ 确定填充 │ 502000413471235689390040275200009754700050928859472361187324596903568107605000832 │ │ 269 │ 确定填充 │ 562000413471235689398040275236009754704053928859472361187324596923568147645000832 │ │ 270 │ 确定填充 │ 562007413471235689398046275236009754714653928859472361187324596923568147645000832 │ │ 271 │ 确定填充 │ 562007413471235689398146275236009754714653928859472361187324596923568147645701832 │ │ 272 │ 确定填充 │ 562907413471235689398146275236819754714653928859472361187324596923568147645791832 │ │ 273 │ 确定填充 │ 562987413471235689398146275236819754714653928859472361187324596923568147645791832 │ ├───────┴──────────┴───────────────────────────────────────────────────────────────────────────────────┤ │ 29 rows 3 columns │ └──────────────────────────────────────────────────────────────────────────────────────────────────────┘ memory D insert into tab1 from 't0112rev2_l.csv'; memory D .read 1230/qpath5.sql ┌───────┬──────────┬───────────────────────────────────────────────────────────────────────────────────┐ │ iter │ op │ bs │ │ int32 │ varchar │ varchar │ ├───────┼──────────┼───────────────────────────────────────────────────────────────────────────────────┤ │ 0 │ 初始填充 │ 000000003001005600090040070000009050700000008050402000080020090003500100600000000 │ │ 1 │ 确定填充 │ 000000003001005600090040070000009050700050008050402000080020090003500100600000000 │ │ 2548 │ 回溯 │ 000000003001005600090040070000009050700050008050402000087020090003500100600000000 │ │ 2549 │ 猜测填充 │ 000000003001005600090040070000009050700050008050402000087020090023500100600000000 │ │ 2602 │ 回溯 │ 000000003001005600090040070000009050700050008050402000087020090923500100600000000 │ │ 2860 │ 回溯 │ 000000003001005600090040070000009050700050008050402000087020090923500100605000000 │ │ 2861 │ 猜测填充 │ 000000003001005600090040070000009050700050008050402000187020090923500100605000000 │ │ 2862 │ 确定填充 │ 000000003001005600090040070000009050700050008050402000187020090923500100645000000 │ │ 2863 │ 猜测填充 │ 000000003001005600090040070000009050700050008050402000187320090923500100645000000 │ │ 2885 │ 回溯 │ 000000003001005600090040070000009050700050008050402000187320590923500100645000000 │ │ 2886 │ 确定填充 │ 500000003001005600090040075000009050700050008050402000187320590923500100645000000 │ │ 2887 │ 确定填充 │ 500000013001005600090040075000009050700050008050402000187320590923500100645000000 │ │ 2903 │ 回溯 │ 500000013001005600090040075000009050700050008050402000187320596923500100645000000 │ │ 2904 │ 确定填充 │ 500000013001005600090040075000009050700050008050402000187324596923500100645000000 │ │ 2931 │ 回溯 │ 500000013001005600090040075000009050700050008050402000187324596923500107645000000 │ │ 2932 │ 确定填充 │ 500000013001005600090040075000009050700050008050402000187324596923500147645000002 │ │ 2955 │ 回溯 │ 500000013001005600090040075000009050700050008050402000187324596923508147645000002 │ │ 2956 │ 确定填充 │ 500000013001005600090040075000009050700050008050402000187324596923568147645000002 │ │ 2957 │ 猜测填充 │ 500000013001005600090040075000009050700050008050402000187324596923568147645000032 │ │ 2958 │ 确定填充 │ 500000013001005680090040075000009050700050008050402060187324596923568147645000832 │ │ 2959 │ 确定填充 │ 500000013001005680090040275000009050700050028050402060187324596923568147645000832 │ │ 2960 │ 猜测填充 │ 500000013001005680090040275000009050700050028050402060187324596923568147645001832 │ │ 2961 │ 确定填充 │ 500007013001005680090140275000009050700050028050402060187324596923568147645001832 │ │ 2962 │ 确定填充 │ 560007013071005680090140275000009050710650028050402060187324596923568147645001832 │ │ 2963 │ 确定填充 │ 560007013071005680098146275036009050710653028050402060187324596923568147645001832 │ │ 2964 │ 确定填充 │ 562007013071035680398146275236009050710653028859402360187324596923568147645001832 │ │ 2965 │ 确定填充 │ 562007413471235689398146275236009750714653928859472361187324596923568147645001832 │ │ 2966 │ 确定填充 │ 562007413471235689398146275236819754714653928859472361187324596923568147645791832 │ │ 2967 │ 确定填充 │ 562987413471235689398146275236819754714653928859472361187324596923568147645791832 │ ├───────┴──────────┴───────────────────────────────────────────────────────────────────────────────────┤ │ 29 rows 3 columns │ └──────────────────────────────────────────────────────────────────────────────────────────────────────┘
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:57:00

YOLO26模型优化:降低GPU显存占用的5个技巧

YOLO26模型优化&#xff1a;降低GPU显存占用的5个技巧 在深度学习目标检测任务中&#xff0c;YOLO系列模型因其高效性和准确性广受青睐。然而&#xff0c;在实际训练与推理过程中&#xff0c;GPU显存不足是开发者常遇到的核心瓶颈之一&#xff0c;尤其在使用大尺寸输入、大批量…

作者头像 李华
网站建设 2026/5/1 8:16:49

IndexTTS-2-LLM实战对比:与Sambert引擎在语音质量上的差异

IndexTTS-2-LLM实战对比&#xff1a;与Sambert引擎在语音质量上的差异 1. 引言 随着大语言模型&#xff08;LLM&#xff09;技术的快速发展&#xff0c;其在多模态生成任务中的应用不断拓展。语音合成&#xff08;Text-to-Speech, TTS&#xff09;作为人机交互的重要环节&…

作者头像 李华
网站建设 2026/5/1 9:46:03

如何高效识别语音情感与事件?试试科哥版SenseVoice Small镜像

如何高效识别语音情感与事件&#xff1f;试试科哥版SenseVoice Small镜像 1. 引言&#xff1a;语音理解的新范式 在智能语音技术快速演进的今天&#xff0c;传统的语音识别&#xff08;ASR&#xff09;已无法满足日益复杂的交互需求。用户不仅希望“听清”说了什么&#xff0…

作者头像 李华
网站建设 2026/5/1 8:12:04

opencode实战案例:终端AI代码补全系统搭建详细步骤

opencode实战案例&#xff1a;终端AI代码补全系统搭建详细步骤 1. 引言 随着大模型在软件开发领域的深入应用&#xff0c;AI编程助手正从简单的代码提示工具演变为全流程的智能开发伙伴。然而&#xff0c;多数现有方案依赖云端服务、存在隐私泄露风险&#xff0c;且对本地化部…

作者头像 李华
网站建设 2026/5/1 10:41:02

AI印象派艺术工坊自动化测试:CI/CD流水线部署案例

AI印象派艺术工坊自动化测试&#xff1a;CI/CD流水线部署案例 1. 引言 1.1 业务场景描述 随着AI图像处理技术的普及&#xff0c;用户对轻量化、可解释性强且无需依赖大型模型的服务需求日益增长。AI印象派艺术工坊&#xff08;Artistic Filter Studio&#xff09;正是在这一…

作者头像 李华
网站建设 2026/4/25 16:39:04

BGE-Reranker-v2-m3电商推荐:用户意图理解排序优化案例

BGE-Reranker-v2-m3电商推荐&#xff1a;用户意图理解排序优化案例 1. 引言&#xff1a;电商场景下的搜索与推荐挑战 在现代电商平台中&#xff0c;用户对商品搜索和个性化推荐的准确性要求日益提升。传统的向量检索方法&#xff08;如基于Sentence-BERT或BGE-Embedding的语义…

作者头像 李华