Strangely, skip() and take() do not work well with joins, you should use offset() and limit(). You can read more about this in this open issue in TypeORM repository: https://github.com/typeorm/typeorm/issues/4742