Estou com um problema group by
, quero selecionar várias colunas, mas agrupar por apenas uma coluna. A consulta abaixo é o que tentei, mas ocorreu um erro.
SELECT Rls.RoleName,Pro.[FirstName],Pro.[LastName],Count(UR.[RoleId]) as [Count]
from [b.website-sitecore-core].[dbo].[aspnet_UsersInRoles] UR
inner join [b.website-professional-au].[dbo].[Profile] Pro
on UR.UserId = Pro.Id
inner join [b.website-sitecore-core].[dbo].[aspnet_Roles] Rls
on Rls.RoleId = UR.RoleId
inner join [b.website-professional-au].[dbo].[Gender] Gn
on gn.Id = pro.GenderId
GROUP BY Rls.RoleName;
sql-server
group-by
Nayeem Mansoori
fonte
fonte
GROUP BY A,B,C
pode ser totalmente diferente do que você deseja obter em comparaçãoGROUP BY A
. e também, geralmente não podemos usar alguma função agregada para obter o valor da coluna relacionada. verifique esta resposta como soluçãoNota: Esta resposta pretende complementar a resposta de @Lukas Eder
Se houver vários valores presentes para os campos
SELECT
ed, mas um campo que você desejarGROUP BY
, você poderá pegar a linha superior correspondente, em vez de esperar que uma agregação (MAX
) retorne.se você deseja que TODOS os valores retornem nessas outras colunas, mas deseja recolhê-lo em uma única entrada, consulte: https://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in -transact-sql /
fonte