У меня есть приложение для iPhone, которое «звонит домой» на мой сервер каждый раз, когда пользователь его использует. На моем сервере я каждый раз создаю строку в таблице MySQL с уникальным идентификатором (похожим на серийный номер), также известным как UDID, для устройства, IP-адреса и других данных.
Столбцы таблицы ClientLog
: Time, UDID, etc, etc.
Я хотел бы знать количество новых устройств (новых уникальных UDID) на определенную дату. т.е. сколько UDID было добавлено в таблицу в определенную дату, которые не появляются до этой даты? Проще говоря, это количество новых пользователей, которых я приобрел в тот день.
Это близко, я думаю, но я не уверен на 100% и не уверен, что хочу именно этого...
SELECT distinct UDID
FROM ClientLog a
WHERE NOT EXISTS (
SELECT *
FROM ClientLog b
WHERE a.UDID = b.UDID AND b.Time <= '2010-04-05 00:00:00'
)
Я думаю, что количество возвращаемых строк - это новые уникальные пользователи после указанной даты, но я не уверен. И я хочу добавить к оператору, чтобы ограничить его диапазоном дат (также указать верхнюю границу).