SQL os mais locados por periodo
01/03/2006
0
uso o firebird 1.5 e delphi 7.0
tenho uma tabela chamada locacaodet onde tenho todos os dados das locacoes
codigodofilme e data de locaçao acho q é o q interessa.
não sei como montar o sql para somar quantas vezes cada filme foi locado de um determinada data até hoje e ordenar pelo maior resultado
alguem pode me ajudar, desde ja agradeço...
obrigado...
Marcusbraga
Posts
01/03/2006
Emerson Nascimento
select first 10 codigodofilme, count(codigodofilme) qtdlocacoes from locacaodet where datadelocacao between (current_date - 15) and current_date group by codigodofilme order by 2 desc
01/03/2006
Marcusbraga
obrigado
01/03/2006
Emerson Nascimento
imagine que você tem um livro com 950 páginas sobre delphi ([b:73b1999eb0]todas as páginas no mesmo livro[/b:73b1999eb0]). suponhamos que você precise procurar pela função [b:73b1999eb0]stringreplace()[/b:73b1999eb0]. quanto tempo você poderá levar para encontrá-lo nessas 950 páginas se não houver um índice no livro?
o mecanismo de banco de dados enfrenta o mesmo problema se não tiver sido criado um índice.
para criar o índice você pode excutar o comando:
create index [i:73b1999eb0]locacaodet_datafilme[/i:73b1999eb0] on locacaodet([i:73b1999eb0]datadelocacao, codigodofilme[/i:73b1999eb0])
onde ´locacaodet_datafilme´ é o nome do índice que será criado e ´datadelocacao, codigodofilme´ são os campos a serem indexados.
(você pode optar por criar dois índices: um pela data de locação e outro pelo código do filme)
01/03/2006
Motta
Não existe uma fórmula mágica para a criação de índice .Acho que todo mundo concorda, não ?
Mas o que o emerson.en disse é verdade , não se usa índice só para relacionamento, busca em uma tabela também.
01/03/2006
Martins
Tudo bem, mas ninguém pode negar que é sempre bom utilizar índices, e até onde os utilizei eles agilizaram bastante as consultas.
Clique aqui para fazer login e interagir na Comunidade :)