MySQL查询加入结果

时间:2020-10-15 12:07:24

标签: mysql

我试图从查询结果中分离出不同的列,在其中我采用两个条件TrueFalse的开始和结束时间戳记

我的查询如下

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_falsestop_false这两个条件的结果分别创建TrueFalse的列。
我正在尝试提供这种列输出,而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"

0 个答案:

没有答案
相关问题