Array
(
)

Ajuda com listagem por data

PHP
Carlos Magno
   - 14 jan 2014

olá galera.....preciso de uma ajudinha básica mas que não consegui resolver até o momento.
Já tenho um select todo montado para puxar os registro de um tabela ordenados pela quantidade de visualizações. Agora queria restringir este select para listar apenas os registro postados da data atual até 7 dias atrás ordenados pela quantidade de visualizações:
Caso ajude, aqui está o select:
#Código

SELECT id, data, titulo, view FROM materia ORDER BY view DESC LIMIT 5

Obrigado desde já a ajuda.]

William (devwilliam)
   - 14 jan 2014

Bom colega acredito que você esteja usando MySQL, se entendi bem sua dúvida acho que esse código pode ajudar.

#Código

SELECT id, data, titulo, view 
FROM materia 
WHERE data between date_sub(curdate(), INTERVAL 7 DAY) and curdate() 
ORDER BY view DESC 
LIMIT 5


Ele captura todos os registros entre hoje e 7 dias atrás.

Qualquer dúvida estou a disposição.

0
|
0

Marcio Araujo
   - 15 jan 2014

esse comando pode ser utilizado na propria linguagem?

0
|
0

William (devwilliam)
   - 15 jan 2014

Olá Marcio, eu passei para ele uma instrução SQL que vai trazer somente os registros dentro do prazo estipulado, filtrar direto em linguagem de programação acho que seria mais sofrível para aplicação.

Gosto de transferir esse tipo de complexidade para o servidor de banco de dados, abuso de instruções SQL para que a minha aplicação receba os dados prontos para serem exibidos em certos casos isso significa uma melhora grande em termos de performance.

Administro uma base de dados com mais de 70 milhões de registros em uma tabela, as instruções SQL acabam salvando minha pele em termos de velocidade, claro com tabelas bem indexadas senão pode ser a morte de uma aplicação.

0
|
0

Carlos Magno
   - 15 jan 2014

Valeu William, show de bola.....deu certo e fica como aprendizado...rsrsrs....meu muito obrigado.

0
|
0

William (devwilliam)
   - 15 jan 2014

Fico contente em ter ajudado, estou encerrando o tópico!

0
|
0