Size: a a a

Django [ru] #STAY HOME

2020 August 20

M

Maksimgeolog in Django [ru] #STAY HOME
Artem Gubatenko
есть такое)
Но при раскладе как ты описал, в любом случае чем-то придется жертвовать
Работа такая
источник

M

Maksimgeolog in Django [ru] #STAY HOME
источник
2020 August 21

D

Dk in Django [ru] #STAY HOME
Andrey
with cte as (select row_number() over (order by scores desc) rank, user_id, scores
            from scores
)
select *
from cte
where rank between (
   select rank - 5
   from cte
   where user_id = 12
)
         and (select rank + 5 from cte where user_id = 12)
with cte as (select row_number() over (order by scores desc) rank, user_id, scores
            from scores
)
with user_rank as (select
rank from cte
where user_id=12
)
select *
from cte
where rank between user_rank - 5 and user_rank
+ 5
Ты табличку не удалил? Так же дешевле выйдет?
источник

A

Andrey in Django [ru] #STAY HOME
Dk
with cte as (select row_number() over (order by scores desc) rank, user_id, scores
            from scores
)
with user_rank as (select
rank from cte
where user_id=12
)
select *
from cte
where rank between user_rank - 5 and user_rank
+ 5
Ты табличку не удалил? Так же дешевле выйдет?
Сейчас
источник

A

Andrey in Django [ru] #STAY HOME
у тебя запрос неверный
источник

D

Dk in Django [ru] #STAY HOME
Хм
источник

D

Dk in Django [ru] #STAY HOME
Не понимаю почему, нельзя два раза with использовать?
источник

A

Andrey in Django [ru] #STAY HOME
можно, ты не совсем sql понимаешь :)
источник

D

Dk in Django [ru] #STAY HOME
Прочитал, что with можно как переменную использовать, поэтому написал так
источник

A

Andrey in Django [ru] #STAY HOME
sql оперирует отношениями, а ты хочешь отношением как скаляром оперировать
источник

D

Dk in Django [ru] #STAY HOME
Да блин, я просто вынес два запроса в один
источник

D

Dk in Django [ru] #STAY HOME
Ладно, буду завтра собирать
источник

A

Andrey in Django [ru] #STAY HOME
каких два запроса?
источник

D

Dk in Django [ru] #STAY HOME
select rank +- 5 from cte where user_id=12
источник

A

Andrey in Django [ru] #STAY HOME
это один запрос
источник

A

Andrey in Django [ru] #STAY HOME
то что я тебе скинул — один запрос
источник

A

Andrey in Django [ru] #STAY HOME
просто вопрос к его оптимальности
источник

D

Dk in Django [ru] #STAY HOME
Dk
select rank +- 5 from cte where user_id=12
Да, я понимаю. Но это два подзапроса
источник

D

Dk in Django [ru] #STAY HOME
А я его вынес в один
источник

D

Dk in Django [ru] #STAY HOME
Что я делаю не так?
источник