add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE `scantech_data` (
`scdate` varchar(20),
`value` float
);

INSERT INTO `scantech_data` VALUES ('2021-11-10 17:00:00',1943.98);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:00:18',1957.13);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:00:36',1953.94);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:00:54',1946.28);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:01:12',1960.29);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:01:29',1950.39);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:01:47',1942.62);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:02:05',1954.64);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:02:23',1958.21);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:02:41',1950.26);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:02:58',1945.33);
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:03:16',1960.35);
-- 額外加入
INSERT INTO `scantech_data` VALUES ('2021-11-10 17:04:33',NULL);

SELECT *
FROM scantech_data
ORDER BY scdate
scdate value
2021-11-10 17:00:00 1943.98
2021-11-10 17:00:18 1957.13
2021-11-10 17:00:36 1953.94
2021-11-10 17:00:54 1946.28
2021-11-10 17:01:12 1960.29
2021-11-10 17:01:29 1950.39
2021-11-10 17:01:47 1942.62
2021-11-10 17:02:05 1954.64
2021-11-10 17:02:23 1958.21
2021-11-10 17:02:41 1950.26
2021-11-10 17:02:58 1945.33
2021-11-10 17:03:16 1960.35
2021-11-10 17:04:33 null
SELECT T1.scdate,T1.value,T2.value,T3.value,
CASE WHEN T1.value>1945 THEN 1 ELSE 0 END +
CASE WHEN T2.value>1945 THEN 1 ELSE 0 END +
CASE WHEN T3.value>1945 THEN 1 ELSE 0 END AS TempCount
FROM (
SELECT t.scdate,t.value,
(@rownum_A := @rownum_A + 1) AS rownum_A FROM (SELECT @rownum_A := 0)
r,scantech_data t
ORDER BY scdate asc) AS T1
LEFT JOIN (
SELECT t.scdate,t.value,
(@rownum_B := @rownum_B + 1) AS rownum_B FROM (SELECT @rownum_B := 0)
r,scantech_data t
ORDER BY scdate asc) AS T2 ON T2.rownum_B = T1.rownum_A + 1
LEFT JOIN (
SELECT t.scdate,t.value,
(@rownum_C := @rownum_C + 1) AS rownum_C FROM (SELECT @rownum_C := 0)
r,scantech_data t
ORDER BY scdate asc) AS T3 ON T3.rownum_C = T1.rownum_A + 2
ORDER BY T1.scdate
scdate value value value TempCount
2021-11-10 17:00:00 1943.98 1957.13 1953.94 2
2021-11-10 17:00:18 1957.13 1953.94 1946.28 3
2021-11-10 17:00:36 1953.94 1946.28 1960.29 3
2021-11-10 17:00:54 1946.28 1960.29 1950.39 3
2021-11-10 17:01:12 1960.29 1950.39 1942.62 2
2021-11-10 17:01:29 1950.39 1942.62 1954.64 2
2021-11-10 17:01:47 1942.62 1954.64 1958.21 2
2021-11-10 17:02:05 1954.64 1958.21 1950.26 3
2021-11-10 17:02:23 1958.21 1950.26 1945.33 3
2021-11-10 17:02:41 1950.26 1945.33 1960.35 3
2021-11-10 17:02:58 1945.33 1960.35 null 2
2021-11-10 17:03:16 1960.35 null null 1
2021-11-10 17:04:33 null null null 0