code: func (q *Query) Count() (int, error) {
  	tx := q.pool.NewTransaction()
  	var count int
  	newTransactionQuery(q.query, tx).Count(&count)
  	if err := tx.Exec(); err != nil {
  		return 0, err
  	}
  	return count, nil
  }
docs: // Count counts the number of models that would be returned by the query without
  // actually retrieving the models themselves. Count will also return the first
  // error that occurred during the lifetime of the query (if any).