Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Доброго всем дня. Подскажите пожалуйста как правильно составить запрос, чтобы минимальные и максимальные интервалы выбирались не по всей длинне, а пока документирует один и тот же человек. Сейчас поясню. Есть длинные скважина, пока ее бурили сменилось 3 смены, документировали ее несколько людей. Например, от 0 до 8 метров Петров, от 8 до 100 Сидоров, от 100 до 200 снова Петров и от 200 до 300 снова Сидоров. Когда просто использую min/max, то берет все по макисимуму, типо от 0 до 200 Петров. А мне надо чтобы было видно кто за какой интервал отвечает. declare @t table (holeid varchar, from int, to int, name varchar, value varchar ); insert into @t values ( 'hr-1', 0, 8, 'Lith_LoggedBy', 'Петров' ) , ( 'hr-1', 8, 100, 'Lith_LoggedBy', 'Сидоров' ) , ( 'hr-1', 100, 200, 'Lith_LoggedBy', 'Петров' ) , ( 'hr-1', 200, 300, 'Lith_LoggedBy', 'Сидоров' ) Мой запрос таков select holeid, min(geolfrom)minFROM, max(GEOLTO)maxTO, name, value from TABLE where name = 'Lith_LoggedBy' and holeid = 'hr-1' group by holeid, name, value order by minFROM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 10:54 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, MAX(value) OVER (PARTTION BY value) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 10:59 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaK, спасибо большое, а это куда вставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:07 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, ох... ну как-то так Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:09 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaK, не работает... Incorrect syntax near the keyword 'OVER'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:13 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, запятулю пропустил. или скуль сервер не той системы.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:14 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, Тебе нужны строчки такого вида: Протокол буренияПетров с 0 до 8 и с 100 до 200Сидоров с 8 до 100 и с 200 до 300 ? Или нужно объединение интервалов. то есть из: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Получить: holeid from to name value hr-1 0 8 Lith_LoggedBy Петровhr-1 8 100 Lith_LoggedBy Сидоровhr-1 100 200 Lith_LoggedBy Петровhr-1 200 300 Lith_LoggedBy Сидоров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:14 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaKkatish444, ох... ну как-то так Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:15 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, не запятые я все расставила, sql 2012 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:16 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, а, опять бурение дырок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:16 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Kopelly, да точно! Как вы так получили ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:17 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, не дырок, а скважин глубокого бурения)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:17 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
ещё ключевое слово PARTITION указан с ошибкой Добрый Э - ЭхTaPaKkatish444, ох... ну как-то так Код: sql 1. 2. нужно заменить PARTTION на PARTITION ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:18 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, для сааааавсем ленивых, ещё и алиасы передвинуть Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:18 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, факир не проснулся :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:18 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444Kopelly, да точно! Как вы так получилиискать сообщения с моим участием и по ключевым словам "инвариант группы", "START_OF_GROUP" "GRP_ID" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:19 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Kopelly, подскажите пожалуйста как у вас все получилось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:20 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444Kopelly, да точно! Как вы так получили Так в чем задача? Получить протокол из двух строк или объединить интервалы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:20 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Kopelly, нужно знать кто документировал интервал. Да, объединить нужно где это возможно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:20 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх,Incorrect syntax near 'PARTTION'. блин блинский почему у меня не выходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:23 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, PARTITION ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:24 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaK, мой скрипт не верен даже с вашими исправлениями - выдает не то что надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:26 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Kopelly, откройте секрет, как вы получили вторую таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:26 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444TaPaK, мой скрипт не верен даже с вашими исправлениями - выдает не то что надо он даёт то что вы просили, а то что вы не в состояние озвучить тз, это не проблема енотов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:27 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
откройте пожалуйста секрет, как получить вторую таблицу? Kopellykatish444, Тебе нужны строчки такого вида: Протокол буренияПетров с 0 до 8 и с 100 до 200Сидоров с 8 до 100 и с 200 до 300 ? Или нужно объединение интервалов. то есть из: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Получить: holeid from to name value hr-1 0 8 Lith_LoggedBy Петровhr-1 8 100 Lith_LoggedBy Сидоровhr-1 100 200 Lith_LoggedBy Петровhr-1 200 300 Lith_LoggedBy Сидоров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:27 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaK, он выдают что от 0 до 200 документировал Петров... Это не то что я просила ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:28 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaK, подскажите пожалуйста каким образом Koppely получил вторую таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:29 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:30 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Спасибо большое Можно злоупотребить и спросить для "особо одаренных" у меня sql прям вешается, он как бы и не ругается что неверно, но и скрипт не отрабатывает, условие where name = 'Lith_LoggedBy' and holeid = 'hr-1' я вставила везде где только можно. У меня около 30 000 скважин, и на каждую записей в поле name около 500 Как мне быть, почему он виснет? что не так? Kopelly Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:39 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, держи, горемычная.... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:41 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444Спасибо большое Можно злоупотребить и спросить для "особо одаренных" у меня sql прям вешается, он как бы и не ругается что неверно, но и скрипт не отрабатывает, условие where name = 'Lith_LoggedBy' and holeid = 'hr-1' я вставила везде где только можно. У меня около 30 000 скважин, и на каждую записей в поле name около 500 Как мне быть, почему он виснет? что не так? достала ты сервер. вот он и вешается от тебя и твоих запросов к нему... З.Ы. А если серьезно, то без информации о структуре таблиц и схемы её индексирования, количестве данных и их распределения, настройках сервера и текущего распределения и сбора статистики - никто тебе не скажет, почему твой сервер тормозит. Может индексов не хватает, может статистика устарела. и таких "может" - страницы топика не хватит, чтобы все перечислить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:44 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Не объединяет он.... пишет все подряд интервалы P.S. TSV - это типо фамилия [img=] Добрый Э - Эхkatish444, держи, горемычная.... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:48 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Йахуууууууууу! Вы же супер гениальные люди тут седите Спасибо всем большое! Kopelly Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:50 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Спасибо большое добрые люди))) Наконец-то получилось, аж плясать охото Ура! Ура! Ура! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:51 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, сидите* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:52 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, но хоть доработал до конца, выдав результат, и то уже радует.... :) а по проблеме - скорее всего, ты в первом своем сообщении наименования полей и данные к ним перепутала. проверь ещё раз свою определение таблицы и её заполнение данными (в стартовом сообщении топика). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:52 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, ты постишь сообщения быстрее, чем люди успевают их понять и обдумать.... Какой вариант по итогу заработал и выдал правильные данные? и Почему первый раз "не собрало"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 11:55 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
for fun в производительности не уверен, но в один проход должно работать Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:05 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaKfor fun в производительности не уверен, но в один проход должно работать Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. не взлетит... для примера проверь на таких данных: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:10 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхTaPaKfor fun в производительности не уверен, но в один проход должно работать Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. не взлетит... для примера проверь на таких данных: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. небольшая опечаточка закралась.... но сути не меняет - не взлетит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:12 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, заработал первый скрипт от Kopelly я его и использовала Ваш скрипт почему то не берет min/max я прислала скрин выше, он почему то берет все подряд интервалы Но все равно спаисбо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:17 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Этот тоже все подряд интервалы выдает TaPaKfor fun в производительности не уверен, но в один проход должно работать Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:20 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, я тебе выложил готовый тест-кейс, с тестовыми данными и запросом. Запрос всё отлично собирает. Если у тебя другой результат - значит ты что-то сделала не так.... Проверь всё ещё раз. ;) Либо приведи прям те самые данные, на которых он не отработал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:21 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Ребята, спасибо всем большое за помощь Это мега здорово, что есть такие люди небезразличные к чужим мозговым мучениям Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:22 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
сейчас попробую еще раз отработать У меня данные другие, возможно я не везде поменяла именя своих таблиц Добрый Э - Эхkatish444, я тебе выложил готовый тест-кейс, с тестовыми данными и запросом. Запрос всё отлично собирает. Если у тебя другой результат - значит ты что-то сделала не так.... Проверь всё ещё раз. ;) Либо приведи прям те самые данные, на которых он не отработал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:23 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444Ваш скрипт почему то не берет min/max я прислала скрин выше, он почему то берет все подряд интервалы Скрипт Доброго Э-ЭХа работает на тестовом наборе, должен работать и на рабочей таблице. Может неправильно перенесли на рабочую таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:24 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444Этот тоже все подряд интервалы выдает TaPaKfor fun в производительности не уверен, но в один проход должно работать Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. этот вариант завязан на "магию" данных. в общем случае - он нерабочий. нет "магии" - нет правильного результата ;) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:38 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaK, lead/lag прикрутить можно, конечно, но только в таком вот исполнении: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:47 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, с lead будет так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 12:56 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Kopelly, если не секрет, где в Красноярске трудишься? З.Ы. 2 модераторы... сорри за злостный оффтоп :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:12 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Секрет. Тебе-то зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:15 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Kopelly, для общего развития... ;) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:19 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
в безвоздмездной техподдерже оленей в sql (типо меня))) KopellyДобрый Э - Эх, Секрет. Тебе-то зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:21 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, вот зануда, всё равно 1 проход против 10 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:22 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaK, если я в варианте на разности двух разнооконных ROW_NUMBER-ов запрячу в CTE предварительные вычисления, то тоже один проход и получится.... Ещё и с меньшим числом вызовов оконных функций... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:25 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444в безвоздмездной техподдерже оленей в sql (типо меня))) KopellyДобрый Э - Эх, Секрет. Тебе-то зачем?а ты давай не юли, а говори - смогла перенести на свои таблицы-поля мой вариант запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:26 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
с виртуальной таблицей смогла, выдало то, что надо как со своими данными начинаю работать - другие результаты кажется у меня кривые руки О! Надо это сделать подписью в своем аккаунте Добрый Э - Эхkatish444в безвоздмездной техподдерже оленей в sql (типо меня))) пропущено... а ты давай не юли, а говори - смогла перенести на свои таблицы-поля мой вариант запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:30 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхTaPaK, если я в варианте на разности двух разнооконных ROW_NUMBER-ов запрячу в CTE предварительные вычисления, то тоже один проход и получится.... Ещё и с меньшим числом вызовов оконных функций... а так что-ли 2 прохода по вашему... прям магия cte.... я сравнивал с OUTER APPLY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:30 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Проверяю, появилась ли подпись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:30 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaK, по-моему: проход - это один уровень вложенности запроса. вне зависимости от того, сколько раз в итоге сервер будет бегать по одним и тем же таблицам. Если он свернет три уровня вложенности запроса с lead/lag до одного скана таблицы - то честь и хвала ему. Но для меня запрос будет всё одно иметь три уровня вложенности. И я его для себя буду называть "трех проходным". З.Ы. Это исключительно для понимания используемой мною терминологии... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:35 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхTaPaK, по-моему: проход - это один уровень вложенности запроса. вне зависимости от того, сколько раз в итоге сервер будет бегать по одним и тем же таблицам. Если он свернет три уровня вложенности запроса с lead/lag до одного скана таблицы - то честь и хвала ему. Но для меня запрос будет всё одно иметь три уровня вложенности. И я его для себя буду называть "трех проходным". З.Ы. Это исключительно для понимания используемой мною терминологии... я так понимаю что ROW_NUMBER для вас штука с безумным количеством проходов... ну ок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:40 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaKя так понимаю что ROW_NUMBER для вас штука с безумным количеством проходов... ну окты если чего-то не понял - переспроси... я же Добрый, я - объясню.... Повторю еще раз. Для меня проход - это одно вложение select. вот пример однопроходного запроса: Код: plaintext 1. 2. 3. вот пример двухпроходного запроса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. вот пример трехпроходного запроса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. сколько раз и откуда при этом сервер будет перечитывать данные - пока оставим за рамками обсуждения. Так понятнее, или требуется ещё более подробное разъяснение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:49 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, ага, а CTE всё меняет? авторзапрячу в CTE предварительные вычисления, то тоже один проход и получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:53 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
TaPaK, это ты сказал, что оно все меняет, когда засунул вычисления row_number и rank в CTE, а в основной части запроса сделал lag и утверждал, что тут один проход, а не 10 как у меня. Я тебе и сказал - что для меня это всё одно будет два прохода. Хоть один ты и вынес в СТЕ. При этом думал, что ты поймешь сарказм. Но видимо - зря надеялся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:55 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхTaPaK, это ты сказал, что оно все меняет, когда засунул вычисления row_number и rank в CTE, а в основной части запроса сделал lag и утверждал, что тут один проход, а не 10 как у меня. Я тебе и сказал - что для меня это всё одно будет два прохода. Хоть один ты и вынес в СТЕ. При этом думал, что ты поймешь сарказм. Но видимо - зря надеялся... развидеть... забыть... срочно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 13:57 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
я даже не заметила на каком этапе перестала понимать вашу речь Добрый Э - ЭхTaPaK, по-моему: проход - это один уровень вложенности запроса. вне зависимости от того, сколько раз в итоге сервер будет бегать по одним и тем же таблицам. Если он свернет три уровня вложенности запроса с lead/lag до одного скана таблицы - то честь и хвала ему. Но для меня запрос будет всё одно иметь три уровня вложенности. И я его для себя буду называть "трех проходным". З.Ы. Это исключительно для понимания используемой мною терминологии... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 14:16 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
о, тут я поняла! вы имеете ввиду подзапрос Добрый Э - ЭхTaPaKя так понимаю что ROW_NUMBER для вас штука с безумным количеством проходов... ну окты если чего-то не понял - переспроси... я же Добрый, я - объясню.... Повторю еще раз. Для меня проход - это одно вложение select. вот пример однопроходного запроса: Код: plaintext 1. 2. 3. вот пример двухпроходного запроса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. вот пример трехпроходного запроса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. сколько раз и откуда при этом сервер будет перечитывать данные - пока оставим за рамками обсуждения. Так понятнее, или требуется ещё более подробное разъяснение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 14:18 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
katish444, авторвы имеете ввиду подзапрос не, он считает количество SELECT и говорит "раз проход"... так наверное удобнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 14:21 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 15:25 |
|
||
|
Правильно указать min и max
|
|||
|---|---|---|---|
|
#18+
Рукалоб. Тут уже три страницы ответов. *Ушел за кофе*. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2018, 15:27 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1690442]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 353ms |

| 0 / 0 |
