diff --git a/readme.md b/readme.md index b0db53c..ac4bf84 100644 --- a/readme.md +++ b/readme.md @@ -61,3 +61,142 @@ user 信息 web_url: "https://git.n.xiaomi.com/zhaoyingbo" } ``` + +date 视图 SQL + +```SQL +SELECT + (ROW_NUMBER() OVER()) as id, + p.has_new_cicd, + p.name AS project_name, + strftime('%Y-%m-%d', datetime(pip.started_at)) AS date, + pip.ref, + AVG(pip.duration) AS avg_duration +FROM project p +JOIN pipeline pip ON p.id = pip.project_id +GROUP BY project_name, date, pip.ref; +``` + +week 视图 SQL + +```SQL +SELECT + (ROW_NUMBER() OVER()) as id, + p.has_new_cicd, + p.name AS project_name, + strftime('%Y-%W', datetime(pip.started_at)) AS week, + pip.ref, + AVG(pip.duration) AS avg_duration +FROM project p +JOIN pipeline pip ON p.id = pip.project_id +GROUP BY project_name, week, pip.ref; +``` + +本周平均用时视图 SQL + +```SQL +SELECT + (ROW_NUMBER() OVER()) as id, + p.has_new_cicd, + pip.ref, + AVG(pip.duration) AS avg_duration +FROM project p +JOIN pipeline pip ON p.id = pip.project_id +WHERE strftime('%Y-%W', datetime(pip.started_at)) = strftime('%Y-%W', 'now') +GROUP BY p.has_new_cicd, pip.ref; +``` + +上周平均用时视图 SQL + +```SQL +SELECT + (ROW_NUMBER() OVER()) as id, + p.has_new_cicd, + pip.ref, + AVG(pip.duration) AS avg_duration +FROM project p +JOIN pipeline pip ON p.id = pip.project_id +WHERE strftime('%Y-%W', datetime(pip.started_at)) = strftime('%Y-%W', 'now', '-7 days') +GROUP BY p.has_new_cicd, pip.ref; +``` + +本周每个项目平均用时视图 SQL + +```SQL +SELECT + (ROW_NUMBER() OVER()) as id, + p.has_new_cicd, + p.name AS project_name, + pip.ref, + AVG(pip.duration) AS avg_duration +FROM project p +JOIN pipeline pip ON p.id = pip.project_id +WHERE strftime('%Y-%W', datetime(pip.started_at)) = strftime('%Y-%W', 'now') +GROUP BY p.has_new_cicd, p.name, pip.ref; +``` + +上周每个项目平均用时视图 SQL + +```SQL +SELECT + (ROW_NUMBER() OVER()) as id, + p.has_new_cicd, + p.name AS project_name, + pip.ref, + AVG(pip.duration) AS avg_duration +FROM project p +JOIN pipeline pip ON p.id = pip.project_id +WHERE strftime('%Y-%W', datetime(pip.started_at)) = strftime('%Y-%W', 'now', '-7 days') +GROUP BY p.has_new_cicd, p.name, pip.ref; +``` + +# GPT + +我有一个 sqlite 数据库,表如下 +project 表 + +```js +{ + id: 'aaa', + project_id: 131366, + description: "场景复现平台-展示设备(移动、音箱、小爱建议、车载、手表等设备)上小爱执行结果及相关处理流程", + name: "ai-scene-review-fe", + path_with_namespace: "miai-fe/fe/ai-scene-review-fe", + web_url: "https://git.n.xiaomi.com/miai-fe/fe/ai-scene-review-fe", + avatar_url: null, + has_new_cicd: false, +} +``` + +pipeline 表 + +```js +{ + id: 'bbb', + project_id: 'aaa', + user_id: 'ccc', + pipeline_id: 7646046, + ref: "preview", + status: "success", + web_url: "https://git.n.xiaomi.com/miai-fe/fe/ai-scene-review-fe/-/pipelines/7646046", + started_at: "2024-03-01T16:47:40.192+08:00", + finished_at: "2024-03-01T16:49:30.624+08:00", + duration: 100, + queued_duration: 6, +} +``` + +user 表 + +```js +{ + id: 'ccc', + user_id: 10011, + username: "zhaoyingbo", + name: "赵英博", + avatar_url: "https://git.n.xiaomi.com/uploads/-/system/user/avatar/10011/avatar.png", + web_url: "https://git.n.xiaomi.com/zhaoyingbo" +} +``` + +我想按天展示每个项目的 pipline 按 ref 区分的平均 duration,如何创建视图