none
Pegar ultimo 3 meses ou os 3 ultimos registros RRS feed

  • Pergunta

  • Galera preciso pegar as 3 últimos meses de uma transação de um funcionário por exemplo ou as três ultimas datas que existe de transação para o mesmo no banco de dados.

    Como posso fazer isso ?

    Obrigado


    SirSmart

    sexta-feira, 29 de janeiro de 2016 13:37

Respostas

  • SirSmart,

    Você pode utilizar as cláusulas TOP e ORDER BY na sua consulta.

    Na cláusula TOP você pode especificar a quantidade de registros que você gostaria de retornar na sua consulta e a cláusula ORDER BY você pode especificar por qual campo ordenar seus dados e também a forma de ordenamento (Crescente [ASC] ou Decrescente [DESC]).

    Segue abaixo um exemplo de consulta:

    SELECT TOP 3 campo01, campo02, campo03, campoData
    FROM nomeTabela
    ORDER BY campoData DESC


    Felipe Lauffer MCSA: SQL Server | MCP



    • Editado FLauffer sexta-feira, 29 de janeiro de 2016 15:02
    • Sugerido como Resposta Fulvio Cezar Canducci Dias sexta-feira, 29 de janeiro de 2016 15:51
    • Marcado como Resposta Marcos SJ sexta-feira, 29 de janeiro de 2016 17:24
    sexta-feira, 29 de janeiro de 2016 14:58

Todas as Respostas

  • SirSmart, Monte sua consulta como o between @datainicial and @datafilnal 

    Select * from TabelaA where camponomeuncionario = 'Paulo' and  campoData  between @datainicial and @datafilnal 

    Att, wsti.

    sexta-feira, 29 de janeiro de 2016 13:43
  • SirSmart,

    No final da sua query utilize o comando Order By espeficando a forma a coluna que deseja ordenar e também a ordem da apresentação dos dados sendo elas: ASC - Crescente ou DESC - Decrescente.


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 29 de janeiro de 2016 14:12
  • Bom dia.
    Faça um SELECT com TOP(3) ordenado pela data.

    Att,

    Luciano

    sexta-feira, 29 de janeiro de 2016 14:19
  • SirSmart,

    Você pode utilizar as cláusulas TOP e ORDER BY na sua consulta.

    Na cláusula TOP você pode especificar a quantidade de registros que você gostaria de retornar na sua consulta e a cláusula ORDER BY você pode especificar por qual campo ordenar seus dados e também a forma de ordenamento (Crescente [ASC] ou Decrescente [DESC]).

    Segue abaixo um exemplo de consulta:

    SELECT TOP 3 campo01, campo02, campo03, campoData
    FROM nomeTabela
    ORDER BY campoData DESC


    Felipe Lauffer MCSA: SQL Server | MCP



    • Editado FLauffer sexta-feira, 29 de janeiro de 2016 15:02
    • Sugerido como Resposta Fulvio Cezar Canducci Dias sexta-feira, 29 de janeiro de 2016 15:51
    • Marcado como Resposta Marcos SJ sexta-feira, 29 de janeiro de 2016 17:24
    sexta-feira, 29 de janeiro de 2016 14:58
  • SirSmart,

    Outra possibilidade seria ao invês de utilizar o comando Top no seu select especificar o número de linhas desejados através do comando Set RowCount.

    Veja o exemplo:

    SET ROWCOUNT 4;
    
      SELECT *
      FROM Production.ProductInventory
      WHERE Quantity < 300;
      GO
    


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 29 de janeiro de 2016 16:49