local function genRandomStuff(tbl) local key = math.random(1, 1000000) tbl[tostring(key)] = {key, "random* stuff", {"how about a table, too"}} end local unsorted = {} -- Data, in your format, inside this table. for i = 1, 100 do genRandomStuff(unsorted) -- Populate the keys to sort. end local index = {} -- Table which will contain sorted keys for k in pairs(unsorted) do index[#index+1] = k -- Populate the keys to sort. end for i = 1, 10 do print(i, index[i]) end table.sort(index, function(a, b) return b < a -- sort high to low end) print("Now, sorted") for i = 1, 10 do print(i, index[i]) end