Ir para conteúdo

POWERED BY:

Arquivado

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

MR7

sobre manipulação de minutos e segundos

Recommended Posts

Boa noite pessoal. Seguinte, estou cursando pela primeira vez na vida uma disciplina relacionado a banco de dados, e nesse caso, Oracle. Aprendi até o momento coisas simples como criar tabelas, inserir valores e principalmente o uso e abuso do select, hehe. Então, preciso fazer um exercício que está me deixando com muitas dúvidas na questão do tempo. Pra deixar bem mastigado, aqui tem uma imagem com as tabelas que preciso criar:

 

Imagem Postada

 

Com base nela, montei isso aqui:

 

create table CD
(codigo number(5) not null,
nome varchar2(50) not null,
dataCompra date not null,
valorPago number(5,2),
localCompra varchar2(50),
album varchar2(50),
constraint pk_cd primary key (codigo));

create table Musicas
(codCD number(5) not null,
numero number(2) not null,
nome varchar2(50) not null,
artista varchar2(50) not null,
tempo date not null,
constraint pk_musicas primary key (codCD, numero),
constraint fk_musicas foreign key (codCD) references CD (codigo));

Agora, para inserir os valores do tempo, na tabela Musicas, usei esse formato:

to_date('05:22','mi:ss')

Até aqui tudo ok, mas agora as questões:

 

h) Mostre o tempo total de músicas cadastradas.

j) Mostre o tempo total de músicas por CD.

l) Mostre a média de duração das músicas cadastradas.

 

E é isso que preciso fazer, tenho que manipular esses dados que inseri para responder essas questões, só que tá bem complicado, tentei tudo que aprendi até o momento e não consegui resolver. Agradeço antecipado pela ajuda, desculpem pela quantidade enorme de texto. Valeu... \o

Compartilhar este post


Link para o post
Compartilhar em outros sites

h) Mostre o tempo total de músicas cadastradas.

select sum(tempo) from Musicas

 

j) Mostre o tempo total de músicas por CD.

select cod_cd, count(*) from Musicas
group by cod_cd
e você poderia fazer junção de tabelas para trazer o nome do CD e o tempo de música

 

l) Mostre a média de duração das músicas cadastradas.

select avg(tempo) from Musicas

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas aí você usa a fórmula que você colocou aí

Para somar tudo, você coloca a hora também

select sum(to_date(tempo,'hh:mi:ss')) from Musicas

e na média não precisa

select avg(to_date(tempo,'mi:ss')) from Musicas

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.