Beto Lima 0 Denunciar post Postado Novembro 24, 2010 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
William Bruno 1501 Denunciar post Postado Novembro 25, 2010 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
Beto Lima 0 Denunciar post Postado Novembro 25, 2010 William eu tb estranhei mas é o que tem lá. Bom no seu select não retornou nada e deu assim: Subquery returns more than 1 row Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 25, 2010 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
Beto Lima 0 Denunciar post Postado Novembro 25, 2010 Willian, não entendi muito bem, mas assim... preciso apenas somar o tempo do "fulano" e apresentar em horas. não precisa pegar ip nenhum. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 25, 2010 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
Beto Lima 0 Denunciar post Postado Novembro 25, 2010 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