первое и второе появления покупателя | |
---|---|
Артём Автор Сообщений: 55 Дата регистрации: 23.04.2001 |
Хочу посчитать, для каждого дня, сколько человек приходит в магазин впервые и второй раз
Есть таблица, скажем Trans с полями dt(datetime) и User(int) User Может "приходить в магазин " несколько раз. Первый раз он приходит , видимо
Исправлено 1 раз(а). Последнее : Артём, 10.03.23 01:34 ![]() |
Re: первое и второе появления покупателя | |
---|---|
sphinx Сообщений: 30457 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Если нужно ПО КАЖДОМУ пользователю:
Если только по заданному - добавляем условие в WHERE:
------------------ "Veni, vidi, vici!"(с) ![]() |
Re: первое и второе появления покупателя | |
---|---|
Артём Автор Сообщений: 55 Дата регистрации: 23.04.2001 |
где то ошибка:
надо чтобы было user1 - 01.02.2001 user2 - 02.02.2001
Исправлено 3 раз(а). Последнее : Артём, 10.03.23 02:29 ![]() |
Re: первое и второе появления покупателя | |
---|---|
sphinx Сообщений: 30457 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Ога, понял, надо коррелированный запрос:
------------------ "Veni, vidi, vici!"(с) Исправлено 1 раз(а). Последнее : sphinx, 10.03.23 02:35 ![]() |
Re: первое и второе появления покупателя | |
---|---|
Артём Автор Сообщений: 55 Дата регистрации: 23.04.2001 |
Большое Спасибо
![]() |
Re: первое и второе появления покупателя | |
---|---|
akvvohinc Сообщений: 3916 Откуда: Москва Дата регистрации: 11.11.2008 |
Особенно просто таким способом будет ответить на общий вопрос: А сколько человек пришло dd.mm.yyyy в N-й раз? Исправлено 1 раз(а). Последнее : akvvohinc, 10.03.23 05:16 ![]() |
Re: первое и второе появления покупателя | |
---|---|
Артём Автор Сообщений: 55 Дата регистрации: 23.04.2001 |
Мы считаем один, два, много.
![]() Дальше не так интересно считать. Интересная информация, сколько новых клиентов и сколько клиентов возвращается. Зашли и не вернулись - значит, плохо работаем. Хотя, чисто академический интерес всегда можно найти. ![]() ![]() |
Re: первое и второе появления покупателя | |
---|---|
Владимир Максимов Сообщений: 14041 Откуда: Москва Дата регистрации: 02.09.2000 |
А не проще тогда подсчитать количество уникальных значений дней?
Это недокументированная фича использования DISTINCT с агрегирующей функцией COUNT(). Здесь - количество уникальных (не повторяющихся) значений поля dt в рамках одного значения поля user Исправлено 2 раз(а). Последнее : Владимир Максимов, 10.03.23 14:12 ![]() |
Re: первое и второе появления покупателя | |
---|---|
akvvohinc Сообщений: 3916 Откуда: Москва Дата регистрации: 11.11.2008 |
Имея индекс по user+дата и пробежавшись один раз по таблице мы для каждой записи легко получаем "порядковый номер посещения" юзера.
После чего просто подсчитываем записи с требуемыми "номерами посещений" за любую дату (это же будет основой и для решения любой другой подобной задачи, которая может появиться в процессе эксплуатации). Прозрачность такого алгоритма очевидна - он легок и в исполнении и в понимании. И через 10 лет вы без труда за минуту поймете, что вы тут понаписали (в отличие от какого-нибудь "накрученного" SELECT). Или у вас "чисто академический" интерес решить эту задачу именно с помощью SELECT SQL? Но тогда как это стыкуется с вашим пожеланием "попроще написать"? Цитата:"Попроще написать" - это использовать тот способ, который соответствует вашим текущим знаниям. Обычно не удается просто написать и забыть - вам придется сопровождать этот код и, возможно, долгое время. И плохо, если каждый раз вы будете тратить кучу времени, чтобы понять - "И что же я здесь понаписал и как это всё работает!" Исправлено 2 раз(а). Последнее : akvvohinc, 10.03.23 16:24 ![]() |
Re: первое и второе появления покупателя | |
---|---|
sphinx Сообщений: 30457 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
+1
------------------ "Veni, vidi, vici!"(с) ![]() |
Re: первое и второе появления покупателя | |
---|---|
Артём Автор Сообщений: 55 Дата регистрации: 23.04.2001 |
+1
Исправлено 2 раз(а). Последнее : Артём, 10.03.23 23:07 ![]() |
Re: первое и второе появления покупателя | |
---|---|
sphinx Сообщений: 30457 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
![]() ------------------ "Veni, vidi, vici!"(с) ![]() |
© 2000-2023 Fox Club  |