我如何仅使用1张表两次选择1列,问题是我必须将1列分成2个返回
例如:表日志
TIMELOGS 11:00 , 12:12 , 13:00 , 17:01 , 17:05 , 17:10
TIMEMODE 0 , 0 , 0 , 1 , 1 , 1
输出应该是
IN 11:00 , 12:12 , 13:00
OUT 17:01, 17:05 , 17:10
如何将这些与查询结合
Select TIMELOGS as IN FROM table_logs where TIMEMODE = 0;
和
Select TIMELOGS as OUT FROM table_logs where TIMEMODE = 1;
如果我理解正确,您想枚举0和1,然后将其分组:
select max(case when mode = 0 then time end),
max(case when mode = 1 then time end)
from (select l.*,
(@rn := if(@m = mode, @rn + 1,
if(@m := mode, 1, 1)
)
) as rn
from logs l cross join
(select @rn := 0, @m := -1) params
order by mode, time
) l
group by rn;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句