mysql row returned n times based on column value n
For version 8+

WITH 
cte AS ( SELECT 1 num
         UNION ALL
         SELECT num+1 FROM cte WHERE num &lt; ( SELECT MAX(entries) FROM table)
       )
SELECT table.*
FROM table, cte
WHERE table.entries &lt;= cte.num


For version 5.7 we must generate numbers table in the query

SELECT table.*
FROM table, 
     ( SELECT 100*t1.num+10*t2.num+t3.num+1 num
       FROM (SELECT 0 num UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1,
            (SELECT 0 num UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t2,
            (SELECT 0 num UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t3
     ) cte
WHERE table.entries &gt;= cte.num


The number of tX pseudo-tables is dependent by max possible entries value. In the code above this max value assumed to be 1000.

Or you can generate numbers table using user-defined variable based on some (the same or another) table (if such table exists) for which the records count is over max possible entries value.

Or you can create static numbers table in this or system database and use it.