Report abuse

diff --git a/app/models/status.rb b/app/models/status.rb
index bdd45d9..8733def 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -25,10 +25,10 @@ class Status

     sql = <<-SQL
       SELECT
-        COUNT(*) - SUM(success) as failed,
+        COUNT(*) - COUNT(success) as failed,
         COUNT(*) as total,
-        SUM(success) / COUNT(*) * 100 as percent,
-        FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(time) / #{interval}) * #{interval}) as start
+        COUNT(success) / COUNT(*) * 100 as percent,
+        (FLOOR(time::abstime::integer / #{interval}) * #{interval})::integer::abstime as start
       FROM reports
     SQL

@@ -36,7 +36,7 @@ class Status
     sql << " time >= \"#{options[:start].to_s(:db)}\"}" if options[:start]
     sql << " AND" if options[:start] and options[:node]
     sql << " node_id = #{options[:node].id}" if options[:node]
-    sql << " GROUP BY FLOOR(UNIX_TIMESTAMP(time) / #{interval})"
+    sql << " GROUP BY FLOOR(time::abstime::integer / #{interval})"

     sql << " LIMIT #{options[:limit]}" if options[:limit]