Есть запрос вида
SELECT login, subs_id, ip, login_out
FROM cam.test
WHERE subs_id IN (SELECT subs_id
FROM cam.test
where login_out > 0 and (UNIX_TIMESTAMP() - login_out) < 30
GROUP BY subs_id
HAVING COUNT(id) > 1
and login_out > 0
)
order by login;
выхлоп такой
login |subs_id|ip |login_out |
--------------|-------|--------------|----------|
birolev1 | 46|95.3.25.168 |1578426551|
birolev2 | 46|95.3.125.170 |1578426551|
bocskori1 | 227|16.118.43.11 |1578426549|
bocskori2 | 227|16.118.43.11 |1578426549|
bugia | 371|95.3.25.169 |1578426549|
bugia2 | 371|95.3.25.169 |1578426553|
Нужно дописать запрос, чтоб убрать те строки, где ip идентичный в полях с одинаковым subs_id, тоесть нужно получить
login |subs_id|ip |login_out |
--------------|-------|--------------|----------|
birolev1 | 46|95.3.25.168 |1578426551|
birolev2 | 46|95.3.125.170 |1578426551|
Почему не добавить ещё одну группировку с HAVING
?
SELECT MAX(login)
, MAX(subs_id)
, MAX(login_out)
, ip
FROM cam.test
WHERE subs_id IN (
SELECT subs_id
FROM cam.test
WHERE login_out > 0 AND (UNIX_TIMESTAMP() - login_out) < 30
GROUP BY subs_id
HAVING COUNT(id) > 1 AND login_out > 0
)
GROUP BY ip
HAVING COUNT(*) = 1
ORDER BY login
;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Всем привет я хочу удалить все сообщения, и если сообщения удалились то мне должен придти ответ в JSON формате {"Все сообщения удалены"} Однако...
Подскажите пожалуйста как вычислить разницу времени типа String, например 12:07:32434 и 11:01:11