How to make MySQL using an index only by adding "order by"

Code
-- tested with MySQL 5.6

-- Type ALL - no index used.
EXPLAIN SELECT h.date, h.price, h.name FROM history h
    JOIN history h1 ON h.id = h1.id;

-- at least, it uses index now and no sort in Extra
EXPLAIN SELECT h.date, h.price, h.name FROM history h
    JOIN history h1 ON h.id = h1.id
    ORDER BY h.id;
Result
idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtra
1SIMPLEhnullALLPRIMARYnullnullnull1407100.00null
1SIMPLEh1nulleq_refPRIMARYPRIMARY4my_schema.h.id1100.00Using index
0.0043098926544189 ms (with caching enabled)

idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtra
1SIMPLEhnullindexPRIMARYPRIMARY4null1407100.00null
1SIMPLEh1nulleq_refPRIMARYPRIMARY4my_schema.h.id1100.00Using index
0.00042891502380371 ms (with caching enabled)

Used Versions
PHP 7.1, Zend 3.0, Symfony 3.2, Laravel 5.2, PHPUnit 5.6, Doctrine 2.6