title: How to query limit with offset in Scylla and Go
body: <p>Using <code>gocql</code> or <code>gocqlx</code>, there's no example to fetch nth page:</p>
  
  <pre><code>CREATE TABLE IF NOT EXISTS users (
      id    BIGINT, -- unique using distributed synchronous counter (redis-like), since Scylla doesn't support RETURNING on counter
      email TEXT, -- to enforce uniqueness
      PRIMARY KEY(email)
  );
  CREATE INDEX IF NOT EXISTS ON users(id);
  </code></pre>
  
  <p>Query function:</p>
  
  <pre><code>func QueryRows(cql string) (res []M.SX) { // M.SX is map[string]interface{}
      q := Database.Query(cql) // database is the connection to scylla
      defer q.Release()
      res = []M.SX{}
      iter := q.Iter()
      for {
          row := M.SX{}
          if !iter.MapScan(row) {
              break
          }
          res = append(res, row)
      }
      return
  }
  </code></pre>
  
  <p>Is there no easy but with good performance (without <code>ALLOW FILTERING</code>) to fetch nth-page (order by <code>email</code> or <code>id</code>)?</p>
  
  <pre><code>SELECT * FROM users WHERE id &gt; 44 LIMIT 10 ALLOW FILTERING; 
  -- eg. 44 is last id of current page
  </code></pre>