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.00078892707824707 ms (with caching enabled)

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