-2
сказать, что у меня есть sql, который в настоящее время возвращает всех футболистов, которые играли в течение всех лет. Как так:Как сгруппировать два поля в SQL?
name year goals
john 2010 1
john 2006 2
john 2006 8
fred 2006 1
Но я хочу, чтобы результат группироваться по годам они играли, но не сжимайте имена игроков, если они из разных лет, например, так:
name year goals
john 2010 1
john 2006 10 <--- This is compressed, but there are still 2 johns
fred 2006 1 since they are from different years
что у меня есть сделал это до сих пор.
(select name, year, goals
from table) as T
Если я просто
select *
from
(select name, year, goals
from table) as T
group by year;
Фред исчезнет, но если я «группу по имени», есть только один джон налево. Любая помощь?
будет «группировать по имени, году», затем искать строки, которые имеют одинаковые поля «имя» и «год», а затем И ТОЛЬКО группируют их в один? Будет ли это означать, что, выполнив в приведенном выше примере «группа по имени, году, целям», возвращаемая таблица будет такой же, как и исходная таблица? – Webeng
@Webeng Да, «группы» - это все строки с одинаковой комбинацией «имя-год». Если вы добавите цели, они вернут все строки с одинаковыми «целями года-года». Таким образом, в этом примере она вернет исходную таблицу, но если две строки были дублирующими (то есть две строки john-2010-1), они объединят их и просто показывают «john-2010-2» –
, а я если порядок не имеет значения? – Webeng