Skip to content
Peter edited this page Nov 4, 2017 · 6 revisions

Welcome to the prenomes wiki!

Lembretes

Usar SQL

soma fixa
  SELECT ($1->>$2)::bigint + ($1->>($2+1))::bigint + ($1->>($2+2))::bigint
    + ($1->>$2+3)::bigint + ($1->>($2+4))::bigint + ($1->>($2+5))::bigint
    + ($1->>$2+6)::bigint + ($1->>($2+7))::bigint + ($1->>($2+8))::bigint    
$f$ LANGUAGE SQL IMMUTABLE;


CREATE or replace FUNCTION lib.sum_jarray(
  p_j JSONb, 
  p_ini int, 
  p_fim int
) RETURNS bigint  AS $f$
  DECLARE
     i int;
     tsum bigint :=0;
  BEGIN
  i:=p_ini;
  LOOP 
    EXIT WHEN i = p_fim;
    tsum := tsum + ($1->>i)::bigint
    i := i + 1 ; 
  END LOOP ; 
  RETURN tsum;
  END ; 
$$ LANGUAGE plpgsql;

select lib.sum_jarray(c,1,10) FROM dataset.big WHERE big.source = dataset.idconfig('ibge_censolast_nomes'::text);

CREATE EXTENSION fuzzystrmatch;
select metaphone(nome,10), count(*) as n from dataset.vw_ibge_censolast_nomes where ate2010>100000 group by 1 order by 1;

Uso do LIKE no SQL mostra que é inviável, exeto se definir limite superior, ou abordar apenas casos com raízes mais longas. A raiz "an" por exemplo retorna mais de 1000 nomes.

raiz_pop,nome
an,ANA
an,ANALICE
an,ANE
an,ANITA
an,ANNA
mari,MARI
mari,MARIA
maria,MARIAH
mari,MARINA
mari,MARINE
mari,MARIANA
mari,MARINEIDE
mari,MARIO
regian,REGIANE
regian,REGIANNE
regin,REGINA
regin,REGINALDO
regin,REGINALDA

Clone this wiki locally