Select

Delphi

13/11/2003

Tenho uma tabela com a estrutura mais ou menos assim:

DATA
HORA
ALUNO

Preciso fazer um relatório assim:

RELATÓRIO DIÁRIO - 09/11/2003
HORA Nº ALUNOS
08:00 20
09:00 01
... ...
20:00 01
21:00 10
-----------------
TOTAL 32


RELATÓRIO SEMANAL 09/11/2003 ATÉ 15/11/2003
DIA Nº ALUNOS
09/11/2003 32
10/11/2003 20
... ...
15/11/2003 50
---------------------
TOTAL 102

Como faço a select? Devo usar o COUNT(*), mas como separar por hora?

Obrigada
Debora


Debora

Debora

Curtidas 0

Respostas

Carlosk

Carlosk

13/11/2003

nao entendi bem o q tu quer fazer, mas se tu usar o sql builde, vai conseguir com certeza... para abrir o sql builder, de um clique com o botao direito sobre uma query, entao clique em sql builder... la vc monta suas pesquisas visualmente...

falows


GOSTEI 0
Debora

Debora

13/11/2003

Minha tabela
----------------------------------------------

PRDATA........PRHORA
14/10/2003...06:01
14/10/2003...06:35
14/10/2003...09:05
15/10/2003...07:35
15/10/2003...07:55

Meu relatório
----------------------------------------------

DIA 14/10/2003

HORA....................TOTAL
06:00 as 06:59......2
09:00 as 09:59......1


DIA 15/10/2003

HORA....................TOTAL
07:00 as 07:59......2


GOSTEI 0
Debora

Debora

13/11/2003

:cry: Alguém tem alguma dica para me dar? :cry:


GOSTEI 0
Okama

Okama

13/11/2003

Se todas as horas fossem redondas a consulta seria assim:

´Select hora, count(alunos) as Total from tabela group by hora´

Porém como as horas não são iguais (13:00 <> 13:01) você deve recortar a parte idêntica (13)

Não sei qual base de dados está usando, em MS SQL Server ficaria assim:

select left( convert( char, data,108), 2)+´:00´ as DD, count(data) from tabela
group by left( convert( char, data,108), 2)+´:00´
Order by left( convert( char, data,108), 2)+´:00´



´Convert´ formata a data em hora (´hh:mm:ss´)
´Left´ retorna as 2 primeiras posições (´hh´)
+´:00´ formata a exibição da hora.


GOSTEI 0
Debora

Debora

13/11/2003

uso paradox


GOSTEI 0
POSTAR