The reason you see only the latest version in normal mode is the fact that there is only one version in web database.
Normally Search Results rendering returns all versions of your item.
This is unexpected behaviour and I would consider this as a bug (by default we should get only the latest version, this is the default Sitecore behaviour).
SXA ticket for that has been created and the issue should be fixed in the next release.
What you can do for now?
This probably won't solve your problem because I don't think that there is a way to select distinct items based on some property within Sitecore search query but you can try.
You can filter your searach results with Search Scope.
- Navigate to
tenant/site/settings/scopes
- Create new
search scope
item
- Build Sitecore query to filter you results (in this case I request only items with version number 1)
- Assign your Search Scope to Search Results rendering