#sql #sqlite #window-functions
#sql #sqlite #окно-функции
Вопрос:
Вот моя ситуация, я использую nixos для приложения на python, и у меня установлен python 3.6.5, sqlite для этой версии не поддерживает оконные функции, а изменение версии python в nixos очень болезненно. Достаточно ли просто избежать использования этих функций? например, каким стал бы этот фрагмент кода?
cast(dense_rank() over(order by period) as int)
Ответ №1:
Обычно вы используете подзапрос:
select
...
(select count(distinct t1.period) from mytable t1 where t1.period <= t.period) as rnk
from mytable t