Last with Group BY with Offset and Limit?

I have simple measurement books with tag “isbn” and value “cost”.
I’ve collected some data and now I’m trying to get list isbns for books, that had cost > 0 in last point, but want to get them in batch using offset and limit.
I’m trying to achieve this with this query:
SELECT last(“cost”) AS cost FROM books WHERE time > now() - 1w AND cost > 0 GROUP BY isbn LIMIT 2 OFFSET 0;
And instead of 2 results I’m getting a lot of results. Why is this so? How should I change my query to get data I want?