This repository has been archived by the owner on Nov 19, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhioki_query_labstatu.sql
131 lines (126 loc) · 5.27 KB
/
hioki_query_labstatu.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
-- Select records of the last 15 days
CREATE OR REPLACE VIEW `dev-db`.hk_last15d AS
SELECT Cell_Barcode, State, Start_time, OCV, IR, DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) AS Delta FROM `testlab-db`.hioki_data
WHERE DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) < 15;
-- Select cell which did only Before wetting
SELECT t2.Cell_Barcode, STR_TO_DATE(t2.Start_time, '%Y-%m-%d %H:%i:%s') AS Date_meas, TIMESTAMPDIFF(HOUR, STR_TO_DATE(t2.Start_time, '%Y-%m-%d %H:%i:%s'), DATE_ADD(NOW(), INTERVAL 2 HOUR)) AS Delta
FROM (
SELECT Cell_Barcode
FROM `testlab-db`.hioki_data
GROUP BY Cell_Barcode
HAVING SUM(CASE WHEN State = 'Before Wetting' THEN 1 ELSE 0 END) > 0
AND SUM(CASE WHEN State IN ('After Wetting', 'After Crosslinking', 'After Formation', 'After Degassing', 'End of Life') THEN 1 ELSE 0 END) = 0) AS t1
JOIN (
SELECT Cell_Barcode, State, Start_time, OCV, IR, DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) AS Delta
FROM `testlab-db`.hioki_data
WHERE DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) < 15) t2
ON t1.Cell_Barcode = t2.Cell_Barcode;
-- Select cell which did only After wetting
SELECT t2.Cell_Barcode, STR_TO_DATE(t2.Start_time, '%Y-%m-%d %H:%i:%s') AS Date_meas, TIMESTAMPDIFF(HOUR, STR_TO_DATE(t2.Start_time, '%Y-%m-%d %H:%i:%s'), DATE_ADD(NOW(), INTERVAL 2 HOUR)) AS Delta
FROM (
SELECT
cell_barcode
FROM
`testlab-db`.hioki_data
WHERE
state LIKE 'After Wetting'
AND cell_barcode NOT IN (
SELECT
cell_barcode
FROM
`testlab-db`.hioki_data
WHERE
state IN ('After Crosslinking', 'After Formation', 'After Degassing', 'End of Life')
)
GROUP BY
cell_barcode
HAVING
COUNT(DISTINCT state) <= 2) AS t1
JOIN (
SELECT Cell_Barcode, State, Start_time, OCV, IR, DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) AS Delta
FROM `testlab-db`.hioki_data
WHERE DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) < 15) t2
ON t1.Cell_Barcode = t2.Cell_Barcode
WHERE t2.State like 'After Wetting';
-- Select cell which did only After Crosslinking
SELECT t2.Cell_Barcode, STR_TO_DATE(t2.Start_time, '%Y-%m-%d %H:%i:%s') AS Date_meas, TIMESTAMPDIFF(HOUR, STR_TO_DATE(t2.Start_time, '%Y-%m-%d %H:%i:%s'), DATE_ADD(NOW(), INTERVAL 2 HOUR)) AS Delta
FROM (
SELECT
cell_barcode
FROM
`testlab-db`.hioki_data
WHERE
state LIKE 'After Crosslinking'
AND cell_barcode NOT IN (
SELECT
cell_barcode
FROM
`testlab-db`.hioki_data
WHERE
state IN ('After Formation', 'After Degassing', 'End of Life')
)
GROUP BY
cell_barcode
HAVING
COUNT(DISTINCT state) <= 3) AS t1
JOIN (
SELECT Cell_Barcode, State, Start_time, OCV, IR, DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) AS Delta
FROM `testlab-db`.hioki_data
WHERE DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) < 15) t2
ON t1.Cell_Barcode = t2.Cell_Barcode
WHERE t2.State like 'After Crosslinking';
-- Select cell which did only After Formation
SELECT t2.Cell_Barcode, STR_TO_DATE(t2.Start_time, '%Y-%m-%d %H:%i:%s') AS Date_meas, TIMESTAMPDIFF(HOUR, STR_TO_DATE(t2.Start_time, '%Y-%m-%d %H:%i:%s'), DATE_ADD(NOW(), INTERVAL 2 HOUR)) AS Delta
FROM (
SELECT
cell_barcode
FROM
`testlab-db`.hioki_data
WHERE
state LIKE 'After Formation'
AND cell_barcode NOT IN (
SELECT
cell_barcode
FROM
`testlab-db`.hioki_data
WHERE
state IN ('After Degassing', 'End of Life')
)
GROUP BY
cell_barcode
HAVING
COUNT(DISTINCT state) <= 3) AS t1
JOIN (
SELECT Cell_Barcode, State, Start_time, OCV, IR, DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) AS Delta
FROM `testlab-db`.hioki_data
WHERE DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) < 15) t2
ON t1.Cell_Barcode = t2.Cell_Barcode
WHERE t2.State like 'After Formation';
-- Select cell which did only After Degassing
SELECT t2.Cell_Barcode, STR_TO_DATE(t2.Start_time, '%Y-%m-%d %H:%i:%s') AS Date_meas, TIMESTAMPDIFF(HOUR, STR_TO_DATE(t2.Start_time, '%Y-%m-%d %H:%i:%s'), DATE_ADD(NOW(), INTERVAL 2 HOUR)) AS Delta
FROM (
SELECT
cell_barcode
FROM
`testlab-db`.hioki_data
WHERE
state LIKE 'After Degassing'
AND cell_barcode NOT IN (
SELECT
cell_barcode
FROM
`testlab-db`.hioki_data
WHERE
state like 'End of Life'
)
GROUP BY
cell_barcode
HAVING
COUNT(DISTINCT state) <= 3) AS t1
JOIN (
SELECT Cell_Barcode, State, Start_time, OCV, IR, DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) AS Delta
FROM `testlab-db`.hioki_data
WHERE DATEDIFF(DATE_ADD(NOW(), INTERVAL 2 HOUR), STR_TO_DATE(Start_time, '%Y-%m-%d %H:%i:%s')) < 15) t2
ON t1.Cell_Barcode = t2.Cell_Barcode
WHERE t2.State like 'After Degassing' AND t2.Cell_Barcode NOT IN (
SELECT packBarCode FROM `testlab-db`.`channel_status` WHERE btsSysState LIKE 'running')