sql – Understanding the difference in output for finding Revenue by Store in Sakila Database

I am trying to find the Revenue by Store in Sakila Database(Demo Database from MySQL).

Sakila Structure

I am doing this :

SELECT store.store_id, SUM(payment.amount) as total_revenue
FROM rental
INNER JOIN payment on rental.rental_id = payment.rental_id
INNER JOIN staff on payment.staff_id = staff.staff_id
INNER JOIN store on staff.store_id = store.store_id
GROUP BY store.store_id
ORDER BY 2

This is the result of the above query:

+--------+-----------+
|store_id|sum(amount)|
+--------+-----------+
|1       |33482.50   |
|2       |33924.06   |
+--------+-----------+

But when I am doing this :

SELECT i.store_id, SUM(p.amount) as total_revenue
FROM rental r
INNER JOIN payment p ON r.rental_id = p.rental_id
INNER JOIN inventory i ON i.inventory_id = r.inventory_id
GROUP BY i.store_id
ORDER BY 2

I am getting this result:

+--------+-----------+
|store_id|sum(amount)|
+--------+-----------+
|1       |33679.79   |
|2       |33726.77   |
+--------+-----------+

Can some one explain what is the best way to find out the Total Revenue by Store ?