distinct description
One way is to use a Derived Table (subquery) and get all the maximum id values for every unique remote_id value. We can then JOIN this subquery  to the original table to get the rows corresponding to highest id.

SELECT 
  t.*
FROM table_name AS t 
JOIN (SELECT 
        remote_id, 
        MAX(id) AS max_id 
      FROM table_name
      GROUP BY remote_id) AS dt 
  ON dt.remote_id = t.remote_id 
     AND dt.max_id = t.id 




Another way is to use a Correlated Subquery inside the WHERE clause. We will get the Max() id value for every remote_id and match against the same.

SELECT 
  t.*
FROM table_name AS t 
WHERE t.id = (SELECT MAX(t2.id) 
              FROM table_name AS t2 
              WHERE t2.remote_id = t.remote_id)