Fórum Consulta SQL por Hora? #335539

02/01/2007

0

Amigos, como faço para montar uma consulta sql por hora:

exemplo: tenho uma tabela com o campo no fotmato time,
e quero montar a pesquisa por um determinado horario

assim : DE 08:00:00 até 10:00:00

a consulta deve me retorna os valores agrupados por horario tipo todos
de 08:00:00 depois todos de 09:00:00 depois todos 10:00:00


Fábio Galvão

Fábio Galvão

Responder

Posts

02/01/2007

Farjola

Acho que pelo SQL não tem como fazer deste jeito que vc quer, só se vc tiver um campo comum para todos os registros de uma faixa horaria ex:

03:10:05 - faixa 3
03:50:14 - faixa 3
04:24:45 - faixa 4
....
assim vc manda agrupar pelo campo faixa logo ele te retorna o total de cada faixa do jeito que vc quer.
Caso vc consiga pelo SQL sem adicionar este campo poste aqui depois!
flw!


Responder

Gostei + 0

02/01/2007

Joaoshi

Colega, tente assim:

SELECT CampoHora FROM SuaTabela
WHERE CampoHora between ´08:00´ AND ´10:00´
ORDER BY CampoHora

Espero ter ajudado.


Responder

Gostei + 0

12/03/2014

Patrick Domingos

Olá, tive o mesmo problema meu caro, e resolvi apenas sendo curioso e alterando o comando padrão SELECT CONVERT(VARCHAR(11), 'SEU CAMPO DE DATE_TIME' ,114) FROM 'SUA TABELA'.

Esse comando exibe apenas a parte "time" de um campo Date_time no seguinte formato hh:mm:ss:mm. Note que o primeiro parâmetro do CONVERT é a cadeia de caracteres de retorno, que no caso do padrão recebe o valor 11.

Se colocarmos "2" ao invés de "11" obteremos somente as horas(hh) do valor de retorno. Daí você pode trabalhar como quiser, agrupando os dados por faixa horária, fazendo PIVOT com o resultado, enfim... a gama de opções é grande.

Espero ter ajudado amigo.
Responder

Gostei + 0

19/03/2014

Wekslei Silva

Em MySql:

SELECT CASE
WHEN a.hora BETWEEN '08:00:00' AND '08:59:59' THEN '08:00:00'
WHEN a.hora BETWEEN '09:00:00' AND '09:59:59' THEN '09:00:00'
WHEN a.hora BETWEEN '10:00:00' AND '10:59:59' THEN '10:00:00'
ELSE 'Sem registro'
END AS 'Intervalo', COUNT(*) AS 'Registro',

FROM suatabela a
WHERE a.hora BETWEEN (:hora1) AND (:hora2)
GROUP BY CASE
WHEN a.hora BETWEEN '08:00:00' AND '08:59:59' THEN '08:00:00'
WHEN a.hora BETWEEN '09:00:00' AND '09:59:59' THEN '09:00:00'
WHEN a.hora BETWEEN '10:00:00' AND '10:59:59' THEN '10:00:00'
ELSE 'Sem registro'
END
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar