Perdón por no contestar antes, tenía visita en casa y no podía dejar de atenderlos ni un segundo para contestar a tu respuesta. De nuevo muchas gracias de antemano por el interés.
Pues verás te pongo un ejemplo que te muestro, pongamos una tabla como esta:
Código SQL:
Ver originalCREATE TABLE IF NOT EXISTS `hashtags` (
`hashtag_id` INT(11) NOT NULL AUTO_INCREMENT,
`hashtag_content` VARCHAR(139) NOT NULL,
`hashtag_date` datetime NOT NULL,
`hashtag_language` VARCHAR(5) NOT NULL,
`hashtag_message` INT(11) NOT NULL,
PRIMARY KEY (`hashtag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=61 ;
INSERT INTO `hashtags` (`hashtag_id`, `hashtag_content`, `hashtag_date`, `hashtag_language`, `hashtag_message`) VALUES
(1, 'cerveza', '2014-08-05 04:44:27', 'es', 1),
(2, 'hello', '2014-08-10 01:22:13', 'es', 2),
(3, 'miedo', '2014-08-10 01:22:34', 'es', 3),
(4, 'miedo', '2014-08-10 01:44:35', 'es', 4),
(5, 'hello', '2014-08-10 02:17:54', 'es', 5),
(6, 'jajaja', '2014-08-10 02:30:08', 'es', 6),
(7, 'hashtags', '2014-08-10 02:30:23', 'es', 7),
(8, 'hashtags', '2014-08-10 02:30:45', 'es', 8);
Y en este caso, este código:
Código PHP:
Ver original<?php $reporte_ultimos_dias = 7;
$lapso_de_intervalo = 30;
$sql = mysqli_query($mysqli, "SELECT info.hashtag_content, SUM(info.cantidad) menciones, ( (CEIL( info.intervalo_actual / ( TIMESTAMPDIFF ( MINUTE, DATE_SUB(NOW(), INTERVAL $reporte_ultimos_dias DAY),
NOW()
) / $lapso_de_intervalo)
) ) * info.cantidad) puntuacion
FROM (
SELECT
hashtag_content,
CEIL( ( TIMESTAMPDIFF( MINUTE,
DATE_SUB(NOW(), INTERVAL $reporte_ultimos_dias DAY),
hashtag_date
) / $lapso_de_intervalo)
) intervalo_actual,
COUNT(DISTINCT hashtag_id) cantidad
FROM hashtags
WHERE ( hashtag_date >= DATE_SUB(NOW(), INTERVAL $reporte_ultimos_dias DAY) )
GROUP BY intervalo_actual, hashtag_content
HAVING intervalo_actual > 0
) info
GROUP BY info.hashtag_content
ORDER BY puntuacion DESC");
echo '<div><a href="/i/hashtag/'.$hashtag['hashtag_content'].'" class="hcolor">#'.$hashtag['hashtag_content'].'</a></div>'; ?>
Lo he pasado a MySqli con sentencias no preparadas para que sea más fácil de controlar. Bueno, una vez tengas esto, ponlo en funcionamiento. Verás como #cerveza que es el primer hashtag que se creó y también el más antiguo, se encuentra en segundo lugar o tercero, cuando hay otros más recientes con la misma o igual cantidad de veces que aparece.
La verdad es que he realizado el cambio que me has dicho y el funcionamiento a mejorado ligeramente.
Gracias por todo
.