Questão de SQL para Analistas de Dados da Amazon

Поділитися
Вставка
  • Опубліковано 8 вер 2024
  • Vamos falar de SQL hoje? A ferramenta mais importante para qualquer profissional de dados, do engenheiro ao cientista, costuma ser a mais cobrada em processos seletivos que envolvem algum tipo de teste. Vi uma questão de SQL aplicada na Amazon no procesos seletivo de analista de dados e achei que poderia ser de interesse de quem acompanha o canal!
    E a gente tem SQL lá no Clube de Assinaturas, ein? A plataforma de ensino de dados mais barata do Brasil, até onde eu sei: www.universidadedosdados.com

КОМЕНТАРІ • 11

  • @universidade-dos-dados
    @universidade-dos-dados  Місяць тому +5

    Um pequeno equívoco que eu cometi: o horário deveria vir com data! A resolução permanece, mas diminui algumas alternativas (embora ainda existem N possibilidades distintas). Peço perdão pelo descuido!

  • @ToSemMana9
    @ToSemMana9 Місяць тому +8

    O exercício também poderia ser resolvido com um COUNT(*)? Na teoria, o id que tivesse um valor par não estaria trabalhando, e quem tivesse um valor impar ainda estaria, pois não tem como informar uma saída sem uma entrada antes.

    • @universidade-dos-dados
      @universidade-dos-dados  Місяць тому +1

      Funcionaria também, se todos iniciam tendo uma entrada, seria certamente a melhor solução!

    • @pedrixx0
      @pedrixx0 Місяць тому

      Pensei da mesma forma, boa.

  • @alexandreferreiratostes9925
    @alexandreferreiratostes9925 Місяць тому

    TOP!

  • @oscarfantozzi3688
    @oscarfantozzi3688 Місяць тому

    Muito bom! Eu fiz usando row_number() e ordenando ao contrário e pegando somente a primeira linha onde o action fosse 'in'.

  • @blinquedu2
    @blinquedu2 Місяць тому

    faz uma cte selecionando max(time) e emp_id, da cte vc seleciona o max time, emp_ip da um join na tabela e traz a action, por fim faz um case when se action in = presente se action out = ausente

  • @WallaceCarlis
    @WallaceCarlis Місяць тому

    Excelente, parabéns pela dica!

    • @WallaceCarlis
      @WallaceCarlis Місяць тому

      Yukio, uma das opções também seria um CTE com FILTER e WHERE. Fiz aqui no databricks rapidinho para a galera ter outras opções, abs!
      WITH CTE_FILTER
      AS
      (SELECT
      emp_id,
      DATE_FORMAT(MAX(time) FILTER(WHERE action= "in"), "HH:mm:ss") as hora_max,
      DATE_FORMAT(MAX(time) FILTER(WHERE action= "out"), "HH:mm:ss") as hora_min
      FROM tabela_amazon
      GROUP BY emp_id)
      SELECT * FROM CTE_FILTER
      WHERE hora_max > hora_min;

  • @Lucas-dn7sr
    @Lucas-dn7sr Місяць тому

    Muito top!