Трансляция чата "SQLize.online"

В этом форуме обсуждаем общие вопросы и проблемы языка, решаем задачи на разных диалектах, делимся успехами и неудачами его применения.
Forum Publisher
Сообщения: 2592
Зарегистрирован: Вт апр 23, 2024 7:49 pm

Re: Трансляция чата "SQLize.online"

Сообщение Forum Publisher »

Alexander None писал(а):https://t.me/sqlize/24241

Сейчас вроде работает
Forum Publisher
Сообщения: 2592
Зарегистрирован: Вт апр 23, 2024 7:49 pm

Re: Трансляция чата "SQLize.online"

Сообщение Forum Publisher »

Group None писал(а):https://t.me/sqlize/24242

небольшие проблемы с переносом конфигурации. зато сервер намного мощнее и немного дешевле
Forum Publisher
Сообщения: 2592
Зарегистрирован: Вт апр 23, 2024 7:49 pm

Re: Трансляция чата "SQLize.online"

Сообщение Forum Publisher »

Иван Сотников писал(а):https://t.me/sqlize/24243

Уже 3 день мучаюсь с задачей
https://m.sqltest.online/ru/question/sa ... on-wrapper
Вот мой код:

Код: Выделить всё

select id2 actor_id, a1.first_name, 
a1.last_name,
id1 actor_id, a.first_name, a.last_name,
cnt films_together from
(select distinct least(id1, id2) id1, greatest(id1,id2) id2,
cnt from
(select fa.actor_id id1, fa1.actor_id id2,
count(fa.film_id) cnt from film_actor fa join
film_actor fa1 on fa.film_id=fa1.film_id and
fa.actor_id<>fa1.actor_id group by 1,2 
having count(fa.film_id)>5) x) y
join actor a on a.actor_id=id1 join actor a1
on a1.actor_id=id2
Ответ вроде правильный, однако не понимаю, как выполнить условие «В каждой строке сначала выводим актёра с фамилией выше по алфавиту»
Направьте меня пожалуйста на путь истинный:)
Forum Publisher
Сообщения: 2592
Зарегистрирован: Вт апр 23, 2024 7:49 pm

Re: Трансляция чата "SQLize.online"

Сообщение Forum Publisher »

Андрей None писал(а):https://t.me/sqlize/24244

Тав в конце задания прямая подсказка про сортировку результата
Forum Publisher
Сообщения: 2592
Зарегистрирован: Вт апр 23, 2024 7:49 pm

Re: Трансляция чата "SQLize.online"

Сообщение Forum Publisher »

Иван Сотников писал(а):https://t.me/sqlize/24245

Добавил такую сортировку, первая строка ответа правильная, а вторая нет, сначала должен быть Val Bolger, а потом Rock Dukakis
Forum Publisher
Сообщения: 2592
Зарегистрирован: Вт апр 23, 2024 7:49 pm

Re: Трансляция чата "SQLize.online"

Сообщение Forum Publisher »

Андрей None писал(а):https://t.me/sqlize/24246

Сорри, протупил - в задаче по паре актёров в каждой строке. Тогда в левую часть надо первого по алфавиту, в правую - второго.
Forum Publisher
Сообщения: 2592
Зарегистрирован: Вт апр 23, 2024 7:49 pm

Re: Трансляция чата "SQLize.online"

Сообщение Forum Publisher »

Андрей None писал(а):https://t.me/sqlize/24247

... или не замените а дополните, чтобы однофамильцы компот не испортили
Forum Publisher
Сообщения: 2592
Зарегистрирован: Вт апр 23, 2024 7:49 pm

Re: Трансляция чата "SQLize.online"

Сообщение Forum Publisher »

Иван Сотников писал(а):https://t.me/sqlize/24248

А как я дополню условием fa.last_name<fa1.last_name если я там просто присоединю film_actor саму к себе, поле last_name в таблице actor же
Forum Publisher
Сообщения: 2592
Зарегистрирован: Вт апр 23, 2024 7:49 pm

Re: Трансляция чата "SQLize.online"

Сообщение Forum Publisher »

Андрей None писал(а):https://t.me/sqlize/24249

Код: Выделить всё

with vfa as (
select fa.film_id, a.actor_id, a.first_name, a.last_name
 from film_actor fa
 join actor a
   on fa.actor_id = a.actor_id
   )
select vfa.actor_id, vfa.first_name, vfa.last_name
     , vfa2.actor_id, vfa2.first_name, vfa2.last_name
     , count(distinct vfa.film_id) films_together
  from vfa
  join vfa vfa2
    on vfa.film_id = vfa2.film_id
    and vfa.actor_id <> vfa2.actor_id
    and vfa.last_name < vfa2.last_name
group by 1,2,3,4,5,6
having count(distinct vfa.film_id) > 5
order by 7 desc,3
Forum Publisher
Сообщения: 2592
Зарегистрирован: Вт апр 23, 2024 7:49 pm

Re: Трансляция чата "SQLize.online"

Сообщение Forum Publisher »

Danila None писал(а):https://t.me/sqlize/24254

Всем привет, у кого- нибудь что-то подобное получалось?
Ответить