У меня есть таблица, как показано ниже:
+-----+---------------------+-----+-----+
| id | date | uid | sid |
+-----+---------------------+-----+-----+
| 454 | 2018-11-18 10:12:16 | 206 | 10 |
| 456 | 2018-11-18 10:53:37 | 206 | 20 | O
| 467 | 2018-11-18 13:00:02 | 206 | 10 | C
| 469 | 2018-11-18 14:50:33 | 206 | 10 |
| 452 | 2018-11-18 07:11:56 | 208 | 10 |
| 470 | 2018-11-18 15:01:38 | 208 | 20 |
| 455 | 2018-11-18 10:51:29 | 209 | 10 |
| 458 | 2018-11-18 11:30:45 | 209 | 20 | O
| 459 | 2018-11-18 11:35:08 | 209 | 20 |
| 460 | 2018-11-18 11:48:24 | 209 | 20 |
| 462 | 2018-11-18 11:55:12 | 209 | 20 |
| 464 | 2018-11-18 12:09:20 | 209 | 10 | C
| 465 | 2018-11-18 12:30:15 | 209 | 10 |
| 468 | 2018-11-18 14:00:58 | 209 | 10 |
| 471 | 2018-11-18 17:25:19 | 209 | 20 | O
| 472 | 2018-11-18 18:52:24 | 209 | 10 | C
| 453 | 2018-11-18 08:38:23 | 212 | 10 |
| 457 | 2018-11-18 11:29:03 | 212 | 20 | O
| 461 | 2018-11-18 11:49:54 | 212 | 20 |
| 463 | 2018-11-18 12:08:49 | 212 | 10 | C
| 466 | 2018-11-18 12:52:11 | 212 | 10 |
+-----+---------------------+-----+-----+
Мне нужно получить статус MIN (открытый) MIN (закрытый), когда sid = 20 - время открытия, а sid = 10 - время закрытия для пользователя.и у меня более одного сеанса на пользователя
Когда я использую цитату из [Получение последней записи в каждой группе - MySQL]
select
t2.id, t2.date, t2.uid, t2.sid
from (
select t.*,
@r:= case when @g = t.uid
then
case when @sg = t.sid
then
case when @sr <> t.date
then @r+1
else @r end
else 1 end
else 1 end r,
@g:= uid g,
@sg:= t.sid sg,
@sr:= t.date sr
from messages t
cross join (select @g:=null,@sg:=null,@r:=null) t1
order by t.uid,t.sid,t.date
) t2
where t2.r = 1 and sid = 20 or t2.r = 2 and sid = 10
order by uid,date
я получаю
+-----+---------------------+-----+----+
| id | date | uid |sid |
+-----+---------------------+-----+----+
| 456 | 2018-11-18 10:53:37 | 206 | 20 |
| 467 | 2018-11-18 13:00:02 | 206 | 10 |
| 470 | 2018-11-18 15:01:38 | 208 | 20 |
| 458 | 2018-11-18 11:30:45 | 209 | 20 |
| 464 | 2018-11-18 12:09:20 | 209 | 10 |
| 457 | 2018-11-18 11:29:03 | 212 | 20 |
| 463 | 2018-11-18 12:08:49 | 212 | 10 |
+-----+---------------------+-----+----+
вопрос в том, как я могу получить это?
+-----+---------------------+-----+----+
| id | date | uid |sid |
+-----+---------------------+-----+----+
| 456 | 2018-11-18 10:53:37 | 206 | 20 |
| 467 | 2018-11-18 13:00:02 | 206 | 10 |
| 458 | 2018-11-18 11:30:45 | 209 | 20 |
| 464 | 2018-11-18 12:09:20 | 209 | 10 |
| 471 | 2018-11-18 17:25:19 | 209 | 20 |
| 472 | 2018-11-18 19:05:38 | 209 | 10 |
| 457 | 2018-11-18 11:29:03 | 212 | 20 |
| 463 | 2018-11-18 12:08:49 | 212 | 10 |
+-----+---------------------+-----+----+