event, data1, data2, data3 FROM queuelog WHERE time >= '2021-09-08 00:00:00' AND time <= '2021-09-08 23:59:59' AND queuename IN ('050') AND event IN ('ABANDON','EXITWITHTIMEOUT','ENTERQUEUE') ORDER BY callid DESC, time DESC, time LIMIT 5000;
Как можно сформировать запрос чтобы выводило таблицу при наличии двух значений: EXITWITHTIMEOUT и ENTERQUEUE при нахождении по одному callid?
> describe queuelog;
+-----------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | char(32) | YES | | NULL | |
| callid | char(64) | YES | | NULL | |
| queuename | char(64) | YES | | NULL | |
| agent | char(64) | YES | | NULL | |
| event | char(32) | YES | | NULL | |
| data | char(64) | YES | | NULL | |
| data1 | char(64) | YES | | NULL | |
| data2 | char(64) | YES | | NULL | |
| data3 | char(64) | YES | | NULL | |
| data4 | char(64) | YES | | NULL | |
| data5 | char(64) | YES | | NULL | |
+-----------+----------+------+-----+---------+----------------+
Можно построить составной запрос, с проверкой на вхождение в подзапрос с event равным EXITWITHTIMEOUT или ENTERQUEUE и по связи с callid. Для полей event и callid есть уникальность, в т.ч. по составным индексам ?
Обсуждают сегодня