Size: a a a

SqlCom.ru - уголок MS SQL

2021 July 06

АР

Александр Ройтман... in SqlCom.ru - уголок MS SQL
источник

AC

Alexey Chaykin in SqlCom.ru - уголок MS SQL
Так это именно то, о чём я и писал. Запрос из решения не эквивалентен тому, что был задан изначально. В общем спор ни о чем
источник

Н

Николай in SqlCom.ru - уголок MS SQL
Дело в том, что order_id не нужен, если у него есть ещё запись, старше по времени.
Т.е. при
id   order_id                        mod_date
4    1000000000137327    2021-01-08 00:00:01
3    1000000000137327    2021-01-07 00:00:00
Мы не получаем никакой записи вообще.
Очень тонкий нюанс, который, наверное, требовал отдельного пояснения.
источник

P

Petr in SqlCom.ru - уголок MS SQL
А почему не переписать на что-то типа select max(mod_date) from... where... group by id having mod_date < x
источник

Н

Николай in SqlCom.ru - уголок MS SQL
Я вроде пробовал уже так делать и выполнялось медленно. Попробую ещё раз с having уже завтра.
Сегодня оптимального решения в итоге так и не нашел.
Очень критично именно время выполнения. При этом всю пачку сразу не получить, т.к. MemoryError, а через оффсеты + потоки на python всё выполняется очень медленно.
Возможно стоит как-то разбить задачу. Сначала получить все уникальные order_id, а потом max mod_date для них.
источник

А

Артем in SqlCom.ru - уголок MS SQL
Эээ, а чем тебя лимит 1 ордер бай деск не устраивает? Или строк много? Там нет никаких конкретных идшников говорящих что больше дат не будет?
источник

Н

Николай in SqlCom.ru - уголок MS SQL
50 млн строк тогда получится итого.
Других зацепок в таблице нету.
Дата играет роль точки синхронизации для нескольких БД.
источник

А

Артем in SqlCom.ru - уголок MS SQL
Данные отсортированы по дате в таблице?
источник

А

Артем in SqlCom.ru - уголок MS SQL
Сколько длится секскан таблы?
источник

А

Артем in SqlCom.ru - уголок MS SQL
Просто есть способ через инсерт в таблу с конфликтом либо же остаётся просто группировка
источник

Н

Николай in SqlCom.ru - уголок MS SQL
А напиши пример, пожалуйста, с инсертом.
Насчет сортировки не уверен, надо смотреть во всех БД.
А секскан даже и не использовал вроде никогда, если это штука с графиками, как я понимаю)
источник

А

Артем in SqlCom.ru - уголок MS SQL
О, самый простой способ придумал. Короче берешь и к заказу прибавляешь дату и ищешь максимальное значение вместе с заказом. Где группировка по заказу. А так же Макс дату. Ну это если даты у тебя не могут в рамках заказа совпасть
источник

А

Артем in SqlCom.ru - уголок MS SQL
Если могут, после этого придется делать окошки
источник

Н

Николай in SqlCom.ru - уголок MS SQL
Спасибо, буду разбираться)
источник

А

Артем in SqlCom.ru - уголок MS SQL
Ну или если у тебя и так не лагает, юзай просто окошки
источник

M

M Popov in SqlCom.ru - уголок MS SQL
Коллеги, подскажите пожалуйста по задачке
источник

M

M Popov in SqlCom.ru - уголок MS SQL
Как из левой таблицы получить правую?
источник

DS

Denis Suhotin in SqlCom.ru - уголок MS SQL
Гуглите UNPIVOT
источник

M

M Popov in SqlCom.ru - уголок MS SQL
помогло. большое спасибо!
источник
2021 July 07

VA

Vladislav Anatol'evi... in SqlCom.ru - уголок MS SQL
всем привет, кто-нибудь знает как через join присоединять только первую строку ?
источник