Size: a a a

2020 July 02

AK

Andrey Kolkov in ru_mysql
Utsr Mapper
мне чат ля этого языка выдаёт только 1
Здесь не занимаются поддержкой PHP.
источник

AK

Andrey Kolkov in ru_mysql
Марк
Всем привет) Помогите, пожалуйста, с такой задачкой) Несколько часов просидел, так ничего и не надумал)

Например, есть такая таблица. В ней у каждого заемщика в каждый момент времени может быть только один открытый кредит. Но из-за сбоя, у одного заемщика, в прошлом, могло появиться несколько открытых кредитов в один момент времени, чего быть не должно. Как их отыскать (заемщиков и кредиты) с помощью запроса? Выделены красной рамкой на скрине.

Интуитивно понятно, что здесь нужно как то связать дату выдачи кредита (credit_date) и плановую дату закрытия (back_date). Но как?😅
На разные даты могло появиться или на одну и ту же?
источник

М

Марк in ru_mysql
Andrey Kolkov
На разные даты могло появиться или на одну и ту же?
К сожалению, credit_date может быть разным, но как правило очень близкий
источник

М

Марк in ru_mysql
Back_date всегда одинаковый
источник

ls

løst søul in ru_mysql
оконными функциями можно
источник

ls

løst søul in ru_mysql
lag lead все дела
источник

М

Марк in ru_mysql
løst søul
lag lead все дела
Хм, как раз на днях учился ей пользоваться, сначала подумал о ней, но потом отмел
источник

ls

løst søul in ru_mysql
если back_date всегда одинаков - можно просто по нему сгруппировать и всё
источник

AK

Andrey Kolkov in ru_mysql
Марк
Back_date всегда одинаковый
Может тогда сгруппировать по возврату и посчитать у кого больше одного кредита из заёмщиков, а потом их уже выловить отдельно?
источник

ls

løst søul in ru_mysql
в этом плане оконная будет лучше - она позволит найти где диапазоны пересеклись, если back_date отличается
источник

М

Марк in ru_mysql
Ну ладно, спасибо, завтра попробую подумать в направлении группировки по back_date и lag/lead)
источник

UM

Utsr Mapper in ru_mysql
Andrey Kolkov
Здесь не занимаются поддержкой PHP.
а тогда нигде
источник

AK

Andrey Kolkov in ru_mysql
Utsr Mapper
а тогда нигде
начни учить базовые вещи сначала. Может потом и сможешь научиться адекватные вопросы задавать.
источник
2020 July 03

M

Mb1W@ in ru_mysql
Марк
Всем привет) Помогите, пожалуйста, с такой задачкой) Несколько часов просидел, так ничего и не надумал)

Например, есть такая таблица. В ней у каждого заемщика в каждый момент времени может быть только один открытый кредит. Но из-за сбоя, у одного заемщика, в прошлом, могло появиться несколько открытых кредитов в один момент времени, чего быть не должно. Как их отыскать (заемщиков и кредиты) с помощью запроса? Выделены красной рамкой на скрине.

Интуитивно понятно, что здесь нужно как то связать дату выдачи кредита (credit_date) и плановую дату закрытия (back_date). Но как?😅
Тут можно и простым запросом обойтись, но оконные функции будут лучше.
У нас уже есть условие: "Клиент не может иметь более одного открытого кредита."
Просто посчитайте количество открытых кредитов для клиента и выведите все, что имеют больше одного.
То есть простой запрос с использованием group by и having.
Если есть время и возможность использовать оконные функции, то стоит использовать их.
Я с ними не работал и в mysql 5.7 их еще нет.
источник

М

Марк in ru_mysql
Mb1W@
Тут можно и простым запросом обойтись, но оконные функции будут лучше.
У нас уже есть условие: "Клиент не может иметь более одного открытого кредита."
Просто посчитайте количество открытых кредитов для клиента и выведите все, что имеют больше одного.
То есть простой запрос с использованием group by и having.
Если есть время и возможность использовать оконные функции, то стоит использовать их.
Я с ними не работал и в mysql 5.7 их еще нет.
проблема в том, что они уже закрыты к настоящему моменту) Поэтому надо в прошлом их искать)
источник

AK

Andrey Kolkov in ru_mysql
Марк
проблема в том, что они уже закрыты к настоящему моменту) Поэтому надо в прошлом их искать)
Сервер железный, ему какая разница)
источник

М

Марк in ru_mysql
Andrey Kolkov
Сервер железный, ему какая разница)
Статус сменился с issued на closed))
источник

AK

Andrey Kolkov in ru_mysql
Марк
Статус сменился с issued на closed))
Ну отлично) все клиенты спасены? ;)
источник

М

Марк in ru_mysql
Andrey Kolkov
Сервер железный, ему какая разница)
Кстати, я узнал что back date не обязательно может быть един, так что все плохо)
источник

М

Марк in ru_mysql
Andrey Kolkov
Ну отлично) все клиенты спасены? ;)
Нет 😂
источник