Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido): MySQL: SELECT para pegar o menor tempo entre registros da mesma tabela


Fabio Eduardo Argenton

Pergunta

Boa noite,
Preciso gerar uma consulta SQL que traga o melhor tempo entre registros de uma única tabela, exemplo:

Minha tabela:

CREATE TABLE `mesaproducao` (
    	`id` INT(11) NOT NULL AUTO_INCREMENT,
    	`codProducao` INT(11) NOT NULL,
    	`mesaProducao` VARCHAR(50) NOT NULL,
    	`pn` VARCHAR(50) NOT NULL,
    	`descricao` VARCHAR(50) NOT NULL,
    	`multiplo` INT(11) NOT NULL,
    	`tipo` VARCHAR(50) NOT NULL,
    	`lote` VARCHAR(50) NOT NULL,
    	`bip` VARCHAR(50) NOT NULL,
    	PRIMARY KEY (`id`)
    )

Abaixo explicado e destacado de verde o que quero trazer com este SELECT:

image.thumb.png.927f6b0de2a929eb10b11864ce312b3d.png

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
22 horas atrás, Fabio Eduardo Argenton disse:

Boa noite,
Preciso gerar uma consulta SQL que traga o melhor tempo entre registros de uma única tabela, exemplo:

Minha tabela:


CREATE TABLE `mesaproducao` (
    	`id` INT(11) NOT NULL AUTO_INCREMENT,
    	`codProducao` INT(11) NOT NULL,
    	`mesaProducao` VARCHAR(50) NOT NULL,
    	`pn` VARCHAR(50) NOT NULL,
    	`descricao` VARCHAR(50) NOT NULL,
    	`multiplo` INT(11) NOT NULL,
    	`tipo` VARCHAR(50) NOT NULL,
    	`lote` VARCHAR(50) NOT NULL,
    	`bip` VARCHAR(50) NOT NULL,
    	PRIMARY KEY (`id`)
    )

Abaixo explicado e destacado de verde o que quero trazer com este SELECT:

image.thumb.png.927f6b0de2a929eb10b11864ce312b3d.png

 

Resolvido:

Obrigado pela ajuda pessoal, segue solução, desta forma exporto para Excel e faço um pouco diferente, vou calcular a média e não o menor tempo, assim terei o resultado esperado:

/*Retorna a diferença em segundos, de um Bip para Outro*/
    SELECT 
    reg_atual.pn, 
    reg_atual.descricao, 
    reg_anterior.bip AS bipInicial, 
    reg_atual.bip AS bipFinal,
    TIMEDIFF(STR_TO_DATE(reg_atual.bip, '%d/%m/%Y %H:%i:%s'), STR_TO_DATE(reg_anterior.bip, '%d/%m/%Y %H:%i:%s')) as tempo

    FROM
    mesaproducao AS reg_atual

    LEFT JOIN
    mesaproducao AS reg_anterior

    ON reg_anterior.id < reg_atual.id
    GROUP BY reg_anterior.id

 

Editado por Fabio Eduardo Argenton
Resolvido
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...