Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Beto Lima

somar horas

Recommended Posts

Pessoal, preciso fazer um select no mysql para somar quantas horas deu de tempo na coluna timestamp.

Pois quero somar quantas horas deu de trabalho para um determinado funcionário.

agradeço ajuda.....

 

CREATE TABLE IF NOT EXISTS `info` (

`fullname` varchar(50) NOT NULL default '',

`inout` varchar(50) NOT NULL default '',

`timestamp` bigint(14) default NULL,

`notes` varchar(250) default NULL,

`ipaddress` varchar(39) NOT NULL default '',

KEY `fullname` (`fullname`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

 

 

 

INSERT INTO `info` (`fullname`, `inout`, `timestamp`, `notes`, `ipaddress`) VALUES

('fulano', 'Entrada', 1287002567, '', '10.1.2.27'),

('fulano', 'Saida', 1287009823, '', '10.1.2.27'),

('fulano', 'Entrada', 1287066470, '', '201.47.255.184'),

('fulano', 'Saida', 1287077430, '', '201.47.255.184'),

('fulano', 'Entrada', 1287087655, '', '189.114.84.237'),

('fulano', 'Saida', 1287099037, '', '189.114.84.237');

Compartilhar este post


Link para o post
Compartilhar em outros sites

estranhei essa modelagem...

 

SELECT `ipaddress`, `timestamp`-
      ( SELECT `timestamp` 
        FROM `info` `in` 
        WHERE `in`.`ipaddress` = `out`.`ipaddress` 
         AND `inout`='Entrada' 
     ) AS tempo 
FROM `info` `out` 
WHERE `inout` = 'Saida' 
GROUP BY `ipaddress`

Compartilhar este post


Link para o post
Compartilhar em outros sites

rodei o sql que você postou, e me resultou o seguinte, com a query que propus:

 

ipaddress tempo

10.1.2.27 7256

189.114.84.237 11382

201.47.255.184 10960

no caso, tá retornando mais de uma linha para você, pq tem mais IPs repetidos na tua base.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá... mas qual é a relação entre um tempo e outro?

 

todos ali são 'fulano'.

como você diferencia um usuario de outro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem mais usuarios claro, fulano, ciclano, etc...

eu postei um exemplo só do fulano...

 

outro exemplo:

 

('fulano', 'Entrada', 1287002567, '', '10.1.2.27'),

('ciclano', 'Entrada', 1287009823, '', '10.1.2.27');

 

então somaria o tempo somente do fulano ou do ciclano....mas esse timestamp ta meio estranho pois nao mostra data e hora....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.