Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

234
Visualizações
¿Cómo puedo traducir un script que escribí en el servidor SQL para calcular las proporciones de probabilidades de Postgresql?

En el servidor SQL, escribí la siguiente secuencia de comandos para calcular las razones de probabilidades en función de las probabilidades de mi grupo de prueba divididas por mi grupo de control. El guión es el siguiente:

 --Compute the odds ratios from the model select a.column1, a.uvs as testuvs. b.uvs as controluvs , [odds]=case when b.uvs>0 then a.puvs/b.puvs else Null end into unique_visitor_odds from control_probabilties b inner join test_probabilities a on a.column1=b.column2 where a.uvs>24 and b.uvs>24 order by [odds] desc

No estoy seguro de cómo escribir esto en Postgresql.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

El código es notablemente similar:

 create table unique_visitor_odds as select tp.column1, tp.uvs as testuvs, cp.uvs as controluvs, tp.puvs / nullif(cp.puvs, 0) as odds from control_probabilties cp inner join test_probabilities tp on tp.column1 = cp.column2 where cp.uvs > 24 and tp.uvs > 24 order by odds desc ;

Eliminé la declaración del case en el select . Eso es manejado por el where . Postgres es lo suficientemente inteligente como para respetar el where al informar errores. Y puede evitar una división por cero usando nullif() .

Excepto para las cláusulas create table as y into , el mismo código funciona en ambas bases de datos.

Además, el order by es sospechoso. De hecho, estoy sorprendido de que SQL Server lo permita.

over 4 years ago · Santiago Trujillo Relatório

0

Además del tipo potencial entre la segunda y la tercera columna en la cláusula SELECT y la sintaxis del alias extraño, todo debería traducirse a postgres fácilmente:

 SELECT a.column1, a.uvs AS testuvs, b.uvs AS controluvs, CASE WHEN b.uvs > 0 THEN a.puvs / b.puvs ELSE NULL END AS odds INTO unique_visitor_odds FROM control_probabilties b INNER JOIN test_probabilities a ON a.column1 = b.column2 WHERE a.uvs > 24 AND b.uvs > 24 ORDER BY odds DESC
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda