Jump to content
Fórum Script Brasil
  • 0

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


Question

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 to post
Share on other sites

1 answer to this question

Recommended Posts

  • 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

 

Edited by Fabio Eduardo Argenton
Resolvido
Link to post
Share on other sites
Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      148856
    • Total Posts
      644851
×
×
  • Create New...