Вам нужно перепроектировать свою таблицу, чтобы в ней были столбцы для имени, страны, номера дорожки и данных.Тогда вместо этого, если у вас есть широкая таблица всего с 3 номерами дорожек, у вас будет высокая тонкая таблица, в которой каждая строка является данными для данного имени , страна и трек.
Затем вы можете подвести итог, используя что-то вроде
SELECT
country,
name,
sum(data) as total
FROM trackdata
GROUP BY
name,
country
ORDER BY
sum(data) desc
Взгляните здесь , где я сделал скрипт SQL, показывающий, как это работает как вы этого хотите
В зависимости от ваших ожидаемых данных, вам действительно может быть лучше иметь отдельную таблицу для страны, где каждое название страны появляется только один раз (а также, возможно, для имени). Например, если Джон всегда связан с ENG, тогда у вас есть повторяющаяся группа, и лучше удалить эту ассоциацию из таблицы выше, которая на самом деле связана с оценками на треке, а не с тем, кто в какой стране находится, и поместите это в свою собственную таблицу, которая затем присоединяется к данным трека.
Полное решение может иметь следующие таблицы
**Athlete**
athlete_id
athlete_name
(other data about athletes)
**Country**
country_id
country_name
(other data about countries)
**Track**
Track_id
Track_number
(other data about tracks)
**country_athlete** (this joining table allows for the one to many of one country having many athletes
country_athlete_id
country_id
athlete_id
**Times**
country_athlete_id <--- this identifies a given combination of athlete and country
track_id <--- this identifies the track
data <--- this is where you store the actual time
Оно может усложняться в зависимости от ваших данных, например, может ли один и тот же номер трека появляться в разных странах ? в таком случае вам понадобится еще одна соединительная таблица, чтобы присоединить один трек-номер ко многим странам.
В качестве альтернативы, даже с плохим дизайном моего примера скрипки SQL, было бы неплохо указать название, страну и отслеживать первичный ключ, так что вы можете иметь только одно значение «данных» для данной комбинации имени, страны и трека. Однако это решение и решение о нормализации вашей таблицы на несколько объединенных таблиц будет основано на данных, которые вы ожидаете получить.
Но в любом случае, как только вы скажете: «Я не знаю, сколько треков там будет «тогда вы должны начать думать», данные каждого трека отображаются в одной СТРОКЕ, а не в одной КОЛОНКЕ ».