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

工单查询,看起来简单,做起来谁做谁知道。
业务部门要个数据,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,让数据开发回归思考本身。
