List elements grouped by multiple dates
You could loop through all your events, and create a date-keyed hash with the ids of the entries - assuming your  (e.g

    {% set saleDays = {} %}
    {% for entry in events %}
       {% for row in table %}
          {% if attribute(saleDays, row.date|date(mdY)) is defined %}
               {% set saleDays = saleDays|merge({ 
                  (row.date|date(mdY)): attribute(saleDays, row.date|date(mdY)) | merge([entry.id]) 
               }) %}
          {% else %}
               {% set saleDays = saleDays|merge({ (row.date|date(mdY)): [entry.id]})
          {% endif %}
     {% endfor %}


This would result in a hash, whose keys were dates of ticket sales, and whose values were arrays of entry id's (which could then be queried), or you could set the values inside the array to the entry models themselves.

You would then need to sort this hash to get the dates in order (think you'd need to write a custom extension), and then you could loop through it.

But to be honest, by that point you'd be better off just writing a module and doing the whole thing in php where it'd be easier.