У меня есть таблица с 20 миллионами строк.SQL - Как сшить две строки из одной таблицы
Каждая строка представляет день + клиент.
Не все дни представлены рядами.
Мне нужно получить для ряда дат, скажем 2015-01-01 до 2016-01-01 таблицу, которая будет иметь для каждого клиента строку, ближайшую сверху до 2015-01-01, и ближайшую снизу 2016-01-01
Таблица:
Желаемый результат:
Подводя итог, это 2 строки из той же таблицы, сшитой в одну строку.
Простое отбор и соединение происходит навсегда. Каков правильный способ запроса этих данных?
Опубликуйте запрос, который вы попробовали, а также разместите таблицы и данные как текст вместо изображений, чтобы другие могли попробовать их. Вы говорите, что ваше соединение происходит очень медленно. Можете ли вы также опубликовать вывод объяснения? – e4c5
Есть ли столбец первичного ключа в этой таблице, который однозначно идентифицирует каждую строку? – krokodilko
Я думаю, что ваш пример данных смущен. Как клиент 2 получит значение 213, когда он появится только в таблице для клиента 1? Как бы клиент 2 имел дату 2015-01-01, если это не отображается в таблице? –