SQL Solutions

В SQL мне наиболее интересна работа с хранимым кодом в PostgreSQL, но до того, чтобы собрать отдельный справочник, руки пока не доходят. Поэтому наполнение этой страницы еще в начальной стадии

Пример теста

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
SAVEPOINT test_begin;
select pgmig.assert_count(1);
-- ----------------------------------------------------------------------------
SELECT pgmig.pkg_op_before('init', 'test_pgmig', 'v0.0', 'git');
SELECT pgmig.assert_eq('pkg_op_before'
, (SELECT jsonb_build_object('code',code,'version',version)
     FROM pgmig.pkg where code='test_pgmig')
, '{
        "version": "v0.0",
        "code": "test_pgmig"
   }'::jsonb
);
ROLLBACK TO SAVEPOINT test_begin;

Мой топ в апреле 2022

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
select r.*
, abs.abs_rank
, cl.cl_rank
from results r
  left join (
    select
      id
    , row_number() over() as abs_rank
    from results where in_abs=1
  ) abs using(id)
  , lateral  (
      select * --coalesce(cl_rank,null) as cl_rank 
        from (
          select
            id
          , case when r.cl_next is null then 
              null
            else 
              row_number() over(partition by cl_next order by drv1_id)
            end as cl_rank
          from results r2 
          where
            r.cl_next is null or
            r.cl_next = any(r2.cls)
        ) cll
      where id = r.id
  ) cl
;

См. также