我试图从查询结果中分离出不同的列,在其中我采用两个条件True
和False
的开始和结束时间戳记
我的查询如下
SELECT MIN(timestamp) AS start_false,
MAX(timestamp) AS stop_false,
isidle
FROM (
SELECT timestamp, isidle,
@grp := IF(@br = isidle, @grp,
IF(@br := isidle, @grp+1, @grp+1)) AS grp
FROM `ActiveIdleTable`
CROSS JOIN (SELECT @grp := 0, @br := '') AS vars
ORDER BY `timestamp`) AS t WHERE `timestamp` LIKE '2020-10-14 %'
GROUP BY isidle, grp
输出如下所示
"2020-10-14 15:52:18" "2020-10-14 15:52:18" "False"
"2020-10-14 17:34:16" "2020-10-14 17:47:15" "False"
"2020-10-14 17:53:15" "2020-10-14 18:00:35" "False"
"2020-10-14 18:18:14" "2020-10-14 18:18:14" "False"
"2020-10-14 10:11:12" "2020-10-14 10:11:12" "True"
"2020-10-14 10:19:12" "2020-10-14 10:19:12" "True"
"2020-10-14 10:33:11" "2020-10-14 10:34:11" "True"
根据查询,我当前的结果是正确的。现在,我试图为start_false
和stop_false
这两个条件的结果分别创建True
和False
的列。
我正在尝试提供这种列输出,而trying...
是从过去两天开始的工作,并且我尝试取消了对该输出的一些PHP解析。希望能有一些帮助来修改查询和分组以包括如下所示的列。
start_true, stop_false, isidle , start_false, stop_false, isdle
我的表结构及其包含的一些数据
列名称:时间戳
类型:tinytext
列名:isidle
类型:tinytext
"2020-07-28 11:05:51" "False"
"2020-07-28 11:06:51" "False"
"2020-07-28 11:08:12 "False"
"2020-07-28 11:08:50" "False"
"2020-07-28 11:09:51" "True"
"2020-07-28 11:11:11" "False"
"2020-07-28 11:11:51" "True"
"2020-07-28 11:12:51" "False"
"2020-07-28 11:14:12" "False"
"2020-07-28 11:14:51" "False"
"2020-07-28 11:15:51" "False"
"2020-07-28 11:16:50" "True"
"2020-07-28 11:17:51" "False"
"2020-07-28 11:18:51" "False"
"2020-07-28 11:20:12" "False"