В users — учётные записи (user_id, login), в cards — карточки получателя доставки: имя и фамилия. Один пользователь может завести несколько карточек, в том числе с одинаковым именем, например для дома и для офиса.
Карточки удалённых пользователей остаются в cards, а строки в users уже нет. Такие карточки не считаются.
Верните пользователей, у которых больше одной карточки: user_id, login, cards. Порядок — по cards по убыванию, затем по user_id.
В работе: Разбор адресной книги доставки: кто держит несколько получателей и кому показывать выбор при оформлении.
Таблицы
users — учётная запись
| Колонка | Тип | Что значит |
|---|---|---|
user_id | int | ключ |
login | text | логин |
cards — карточка получателя
| Колонка | Тип | Что значит |
|---|---|---|
card_id | int | ключ |
user_id | int | владелец |
name | text | имя |
surname | text | фамилия |
Пример: данные
users · 3 строки
| user_id | login |
|---|---|
| 1 | k.sorokina |
| 2 | pavel.ivlev |
| 3 | tanya-88 |
cards · 6 строк
| card_id | user_id | name | surname |
|---|---|---|---|
| 10 | 1 | Ксения | Сорокина |
| 11 | 1 | Михаил | Сорокин |
| 12 | 1 | Ксения | Сорокина |
| 13 | 2 | Павел | Ивлев |
| 14 | 3 | Татьяна | Рябова |
| 15 | 3 | Олег | Рябов |
Ожидаемый ответ
| user_id | login | cards |
|---|---|---|
| 1 | k.sorokina | 3 |
| 3 | tanya-88 | 2 |
SELECT, можно с WITH. Сравниваем значения по порядку колонок, названия колонок могут быть свои. Порядок строк важен — как задано в условии.
user_id, login, cards
Источник: gist кандидата «Yandex SQL interview», GitHub, 2021. Условие пересказано своими словами.
Посмотреть данные, проверить кусок запроса. На зачёт не влияет.
Здесь появится результат отправки.