Obter uma substring de uma coluna e executar um groupBy e contar

Eu tenho uma tabela que armazena dados sobre um grande número de arquivos, como seu idioma, ID exclusivo, caminho de arquivo etc. Eu quero ser capaz de obter a sub-string do ID exclusivo que me dá o tipo de recurso, isso é sempre as primeiras 2 letras do ID. Quero então agrupar esses tipos de recursos por idioma e contar quantos de cada tipo cada idioma possui. Então, no final, eu gostaria idealmente de uma tabela que tivesse uma coluna de idioma e, em seguida, uma coluna para cada substring (tipo de recurso).

Eu tentei criar uma instrução switch grande, mas isso não é muito confiável e me disseram que talvez linq seria melhor. Eu não tenho muita experiência com linq ou sql e tenho algumas consultas sql que eu tentei que me faz uma parte dos resultados desejados, mas eu estava esperando que talvez alguém com mais experiência pudesse saber como agrupar essas funções em uma declaração.

SELECT 
  LCID,
  SUBSTRING(AssetID,1,2)  
FROM [table]

Isso me pega as substrings corretas, mas eu tenho várias linhas para cada idioma. Existe alguma maneira de agrupar os mesmos idiomas em uma coluna e, em seguida, contar quantos de cada tipo existem? obrigado

questionAnswers(1)

yourAnswerToTheQuestion