Добрый вечер всем,
Я боролся с этим весь день.
Я пытаюсь обновить столбец в моей таблице клиентов, который покажет число раз они были подписчиком.Эта таблица создается из большого дампа данных, который имеет отдельные строки для каждого клиента, и каждый месяц они были подписчиками (для каждого месяца назначалось итеративное число).Имена уникальны.Это выглядит примерно так и показывает, что (например) Джейн Доу была подписчиком в период 1000, но не в период 1002.
Row_ID Customer_Name Date_Code
1 Jane Doe 1000
2 Jane Doe 1001
3 Jane Doe 1004
4 Jane Doe 1005
5 Ted Jones 1000
6 Ted Jones 1001
7 Ted Jones 1002
etc...
В этом случае Джейн Доу была подписчиком 1000-1001, слеванаша подписка, а затем вернулся с 1004-1005.У меня есть основная таблица, которая включает в себя всю логику даты (дата начала, дата окончания, код даты и т. Д.).Это выглядит примерно так:
Start_Date End_Date Date_Code
1990-01-01 1990-03-31 1000
1990-04-01 1990-06-30 1001
1990-07-01 1990-09-30 1002
1990-10-01 1990-12-31 1003
etc...
Я пытаюсь найти способ сделать вывод примерно таким:
Customer_Name Subscription_Count
Jane Doe 2
Ted Jones 1
Кто-нибудь сталкивался с чем-то подобным раньше?Для меня (как человека) очевидно, что числа являются (или нет) последовательными и (или не являются) представлением всего образца, но я не уверен, как заставить MYSQL это понять.Я ценю любые идеи.
* РЕДАКТИРОВАТЬ - я пробовал альтернативы «Присоединиться» и «Где не существует», и оба тайм-аута через 10 минут.Я полагаю, что это связано с размером основной таблицы (~ 100 000 строк).У вас есть какие-нибудь предложения?Еще раз спасибо за все комментарии.
** РЕДАКТИРОВАТЬ # 2 - После добавления индексов и небольшой настройки моих таблиц оба решения работают отлично.Еще раз спасибо за поддержку в выяснении этого.