查询工单 SQL 太费劲了,AI 来了也帮不了

Picture5png

工单查询,看起来简单,做起来谁做谁知道。

业务部门要个数据,IT 排期三五天。好不容易写出来了,下个月需求微调,当初写的 SQL 自己都看不懂。200 行嵌套,十几个 CTE,改一个地方崩三个地方。

那么,让 AI 写呢?试过的都懂——AI 写的 SQL,看着像那么回事,但真的对吗?每次生成的还不一样,审计?审不了。上线?谁敢?

SQLazy 换个思路:别让 AI 直接写 SQL,让它帮你理逻辑。你用半自然语言把计算步骤说清楚:

t1=table: 排序 source_id 升序, event_date 升序
t2= 分段 event_user 变化 分区 source_id 命名 SERIES_ID
result= 导出表 id source_id SERIES_ID event_user event_date

审计?这每一步都是大白话,还能分步调试,过两个月也照样秒懂。

然后?然后用 SQLazy 编译出 SQL 就完了:


WITH t2 AS (
		SELECT id, source_id, event_user, event_date
			, SUM(CASE
				WHEN event_user <> col__1 THEN 1
				ELSE 0
			END) OVER (PARTITION BY source_id ORDER BY source_id ASC, event_date ASC ROWS UNBOUNDED PRECEDING) + 1 AS SERIES_ID
		FROM (
			SELECT tmp.*, LAG(event_user) OVER (PARTITION BY source_id ORDER BY source_id ASC, event_date ASC) AS col__1
			FROM tmp
		) sub__2
	)
SELECT id, source_id, SERIES_ID, event_user, event_date
FROM t2
ORDER BY source_id ASC, event_date ASC, source_id 

同样的逻辑,输出永远一样,没概率无幻觉。

还想换库?没问题,一键生成 MySQL,PG,…

…

工单查询不应该是瓶颈。SQLazy,让数据开发回归思考本身。