У меня есть две таблицы: event и trans.
CREATE TABLE `event` (
`event_name` varchar(40) DEFAULT NULL,
`user_id` varchar(40) DEFAULT NULL,
`time` timestamp
);
CREATE TABLE `trans` (
`item_id` varchar(40) DEFAULT NULL,
`quantity` int(11) DEFAULT NULL,
`price` decimal(10,0) DEFAULT NULL,
`user_id` varchar(40) DEFAULT NULL,
`time` timestamp
)
Допустимые значения для таблицы событий (несколько посещений пользователя):
|visit |a1 |2016-09-14 22:48:14 |
|visit |a2 |2016-09-14 22:48:28 |
|visit |a3 |2016-09-14 22:48:45 |
|visit |a1 |2016-09-15 15:10:39 |
|visit |a2 |2016-09-15 15:11:08 |
|visit |a1 |2016-09-15 15:12:34 |
и для таблицы транс
|i1 |1 |100 |a1 |2016-09-15 15:12:22 |
|i2 |2 |100 |a2 |2016-09-15 15:13:17 |
|j1 |1 |140 |a1 |2016-09-15 16:12:22 |
|j4 |3 |150 |a3 |2016-09-15 16:13:17 |
Я написал запрос, чтобы определить среднее время между первым посещением и первой покупкой среди пользователей.
SELECT AVG(timestampdiff(second, e.mintime, t.mintime))
FROM (SELECT user_id, min(time) AS mintime
FROM event e
GROUP BY user_id
) e JOIN
(SELECT user_id, min(time) AS mintime
FROM trans t
GROUP BY user_id
) t
ON e.user_id = t.user_id;
Но теперь я хочу найти среднее время между первым посещением и покупкой для item_id.
Для приведенных выше данных, как я могу написать запрос для поиска ...
Среднее время между первым посещением и покупкой для item_id.