diff --git a/internal/sqlutil/result/result.go b/internal/sqlutil/result/result.go
index 61df81fab75d888b3f6d3a2c8e900ff583735d13..590096bc840e243f7dc6cf8b071e50547c239f4e 100644
--- a/internal/sqlutil/result/result.go
+++ b/internal/sqlutil/result/result.go
@@ -146,8 +146,11 @@ func (r *Result) Count() (uint64, error) {
 		Count uint64 `db:"_t"`
 	}{}
 
-	q := r.buildSelect()
-	q.Columns(db.Raw{"count(1) AS _t"}).Limit(1).OrderBy(nil)
+	q := r.b.Select(db.Raw{"count(1) AS _t"}).
+		From(r.table).
+		Where(r.conds...).
+		GroupBy(r.groupBy...).
+		Limit(1)
 
 	if err := q.Iterator().One(&counter); err != nil {
 		if err == db.ErrNoMoreRows {