Files
FreshRSS/app/Models/StatsDAOSQLite.php
Alexandre Alapetite ccb56bcbf3 Simplify SQL in statistics
Reduce the use of product-specific date functions. Improve performances.
Remove redundant functions.
2016-09-11 11:24:32 +02:00

33 lines
702 B
PHP

<?php
class FreshRSS_StatsDAOSQLite extends FreshRSS_StatsDAO {
protected function calculateEntryRepartitionPerFeedPerPeriod($period, $feed = null) {
if ($feed) {
$restrict = "WHERE e.id_feed = {$feed}";
} else {
$restrict = '';
}
$sql = <<<SQL
SELECT strftime('{$period}', e.date, 'unixepoch') AS period
, COUNT(1) AS count
FROM {$this->prefix}entry AS e
{$restrict}
GROUP BY period
ORDER BY period ASC
SQL;
$stm = $this->bd->prepare($sql);
$stm->execute();
$res = $stm->fetchAll(PDO::FETCH_NAMED);
$repartition = array();
foreach ($res as $value) {
$repartition[(int) $value['period']] = (int) $value['count'];
}
return $this->convertToSerie($repartition);
}
}