Jump to content

Marcio Anderson

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

0 Comum

About Marcio Anderson

  1. Marcio Anderson

    postgresql - ORDER BY e/ou ROW_NUMBER()

    Motta, Não resolve, pois em algumas linhas entrada >> saída ocorre a hora de diferença no horário de verão, então as interligações são em zigue-zague (primeira entrada >> saida >> entrada >> saida >>... última saída). A ligação é possível, pois a saída de uma linha é igual a entrada de uma outra linha. Veja bem abaixo e perceberá que há uma sutil inversão de ordens quando diferencio o order by direto para esse outro método: "hora_entrada";"hora_saida";"order_by_hora_entrada";"order_needed" "2014-12-30 10:12:00";"2014-12-30 10:34:00";1;1 "2014-12-30 10:34:00";"2014-12-30 11:20:00";2;2 "2014-12-30 11:06:00";"2014-12-31 17:03:00";3;5 "2014-12-30 11:20:00";"2014-12-30 11:21:00";4;3 "2014-12-30 11:21:00";"2014-12-30 11:06:00";5;4 "2014-12-31 17:03:00";"2015-01-02 10:06:00";6;6 "2015-01-02 09:19:00";"2015-01-02 09:25:00";7;8 "2015-01-02 10:06:00";"2015-01-02 09:19:00";8;7 A ordem acima está pela hora_entrada asc, mas veja no destaque, a interligação da hora_saida para hora_entrada da linha posterior, que não obedece a mesma classificação.
  2. Marcio Anderson

    postgresql - ORDER BY e/ou ROW_NUMBER()

    Olá, Como realizar uma ordenação quando a ordem lógica entre uma linha e outra é de forma subsequente em zigue-zague conforme abaixo: "hora_entrada";"hora_saida";"order_by_hora_entrada";"order_needed" "2014-12-30 10:12:00";"2014-12-30 10:34:00";1;1 "2014-12-30 10:34:00";"2014-12-30 11:20:00";2;2 "2014-12-30 11:06:00";"2014-12-31 17:03:00";3;5 "2014-12-30 11:20:00";"2014-12-30 11:21:00";4;3 "2014-12-30 11:21:00";"2014-12-30 11:06:00";5;4 "2014-12-31 17:03:00";"2015-01-02 10:06:00";6;6 "2015-01-02 09:19:00";"2015-01-02 09:25:00";7;8 "2015-01-02 10:06:00";"2015-01-02 09:19:00";8;7 Se obedecer a ordem "hora_entrada", acima estará correto conforme a coluna 3, mas preciso da ordem hora_entrada > hora_saida > hora_entrada (próxima linha), considerando que a hora_saida de uma linha é igual a hora_entrada da linha a seguir, conforme coluna 4. Verifique que a ordem é bem diferente. OBS: esses erros ocorreram quando entre a entrada e a saída pode haver divergências no horário de verão da tramitação. Posso ordenar de forma direta ou utilizando row_number? Agradeço a ajuda!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.