powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
10 сообщений из 10, страница 1 из 1
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
    #39805220
seometis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет! Подскажите пожалуйста, как реализовать такую задачку:
Есть несколько сотен (мб даже тысяч) строк данных:
id source count data1 data2 data3 data4 data51 1 100 value1_1 value2_1 value3_1 value4_1 value5_11 1 100 value1_1 value2_1 value3_1 value4_1 value5_11 1 100 value1_1 value2_1 value3_1 value4_1 value5_11 1 100 value1_1 value2_1 value3_1 value4_1 value5_1
...
Рейтинг: 0 / 0
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
    #39805226
seometis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как то не специально сохранилось, пока ковырялся с таблицей, извините. Отредактировать не получается...
Так вот,
Привет! Подскажите пожалуйста, как реализовать такую задачку:
Есть несколько сотен (мб даже тысяч) строк данных:
id source count data1 data2 data3 data4 data51 1 100 value1_1 value2_1 value3_1 value4_1 value5_12 2 200 value1_1 value2_1 value3_1 value4_1 value5_2... ... ... ... ... ... ... ...N-1 2 300 value1_2 value2_1 value3_2 value4_2 value5_3N 1 100 value1_1 value2_2 value3_1 value4_3 value5_3

Задача написать такой запрос, который при вставке данных в таблицу вместо valueX_Y вставлял это значение в дополнительную таблицу values (если его там еще не было) и возвращал айдишку из этой самой таблицы, соответственно вставляя ее в основную таблицу в нужную строку. Можно сделать несколько дополнительных таблиц values1 ... values5 . приоритет - скорость работы.
...
Рейтинг: 0 / 0
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
    #39805249
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совершенно невменяемое описание.
...
Рейтинг: 0 / 0
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
    #39805286
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чаще всего
Данные не "вставляются".
Данные "добавляются"

Если же данные "обновляются", то требуется сначала получить ID обновляемых данных
а не "возвращать" их.
...
Рейтинг: 0 / 0
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
    #39805411
seometis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению ввиду переутомления и злоупотребления спиртом не знаю как точнее сформулировать задачу, но попробую еще раз

Имеется таблица, в которую нужно периодически добавлять новые данные. В добавляемых данных есть 5 полей, содержащие строковые значения. Эти строковые значения достаточно часто дублируются. Соответственно возникло желание сделать дополнительную таблицу, куда заносить только уникальные строковые значения, а в основную таблицу соответственно вставлять идентификаторы из этой самой дополнительной таблицы.

Как я вижу это сейчас, но не оптимально явно:
1. Взять все строковые значения и сформировать запрос на добавление этих значений в дополнительную таблицу с маркером IGNORE.
2. После этого пробежаться по этой таблице и взять все айдишники строк, значения которых будут в данном случае вставляться в основную таблицу
3. Добавить данные в основную таблицу, заменяя значения идентификаторами, полученными в предыдущем пункте.

Я не обладаю хорошими навыками в SQL, по этому мне видится это возможным именно по такой схеме. И соответственно замену значений идентификаторами я буду делать не в SQL, а в самом скрипте. Но явно это не лучший вариант и наверняка вы, опытные и проскилованные тру-базисты, сможете подсказать правильное решение достаточно тривиальной для вас задачи, взамен я с удовольствием отправлю вам лучи добра :)
...
Рейтинг: 0 / 0
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
    #39805446
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seometisИмеется таблица, в которую нужно периодически добавлять новые данные.
Сначала надо понять что это за данные.
Почему они "дублируются", и как их надо группировать.

seometisВ добавляемых данных есть 5 полей, содержащие строковые значения.
Эти строковые значения достаточно часто дублируются.
Кроме этих пяти полей, ты показал еще три поля, значение которых надо объяснить.

seometis Соответственно возникло желание сделать дополнительную таблицу, куда заносить только уникальные строковые значения, а в основную таблицу соответственно вставлять идентификаторы из этой самой дополнительной таблицы.
Видимо надо завести некий "справочник."
Скорее всего - Второй этап.
...
Рейтинг: 0 / 0
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
    #39805450
seometis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это банальная статистика для сайта, 5 полей - это UTM-метки, которые и будут повторяться регулярно. Изначально заполняется сырая таблица, похожая на указанную во втором посте. Далее, будет производится почасовое суммирование данных. ID - автоинкремент, source - идентификатор площадки, count - соответственно число визитов.
...
Рейтинг: 0 / 0
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
    #39805592
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть БД описывающая статистику работы сайта
source - Площадка
count - Количество посещений
data1-data5 - UTM-метки

+Есть периодическая обработка статистики, формирующая файл аналогичной структуры.

Задача: Добавить к имеющейся статистики данные с буфера.

Т.Е. по сути - поставить общую сумму count для (в разрезе) source+(data1-data5)

Так?
...
Рейтинг: 0 / 0
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
    #39805654
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если так, то задача разбивается на две подзадачи.
1. Добавить count из буферной таблицы в основную при совпадении source, (data1-data5) к имеющемуся count
2. Добавить новые комбинации source, (data1-data5)

Результирующая таблица элементарно получается путем добавления срок из буфера в основную таблицу (Union ALL)
и последующей группировкой source, (data1-data5) с суммированием count
Может стоить пойти именно по этому пути?
...
Рейтинг: 0 / 0
Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
    #39805664
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seometisИмеется таблица, в которую нужно периодически добавлять новые данные. В добавляемых данных есть 5 полей, содержащие строковые значения. Эти строковые значения достаточно часто дублируются. Соответственно возникло желание сделать дополнительную таблицу, куда заносить только уникальные строковые значения, а в основную таблицу соответственно вставлять идентификаторы из этой самой дополнительной таблицы.
вам наверное сюда
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Добавление данных в таблицу с заменой значений ключами из вспомогательной таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]