From 0fe1fdc695a809d0d7074a2b047f8de975fddcb1 Mon Sep 17 00:00:00 2001
From: zhaoyingbo <zhaoyingbo@xiaomi.com>
Date: Thu, 7 Mar 2024 01:47:51 +0000
Subject: [PATCH] =?UTF-8?q?doc:=20=E6=96=B0=E5=A2=9EGPT=E5=AF=B9=E8=AF=9D?=
 =?UTF-8?q?=E7=BB=93=E6=9E=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 readme.md | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 139 insertions(+)

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,如何创建视图