Tengo un problema con group by, quiero seleccionar varias columnas pero agruparlas solo por una columna. La consulta a continuación es lo que intenté, pero me dio un error.
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
fuente
fuente

GROUP BY A,B,Cpuede ser totalmente diferente de lo que quieres obtener en comparaciónGROUP BY A. y también, generalmente no podemos usar alguna función agregada para obtener un valor de columna relacionado. marque esta respuesta como una soluciónNota: Esta respuesta pretende ser un complemento de la respuesta de @Lukas Eder
Si hay varios valores presentes para los campos
SELECTed pero un campo que deseaGROUP BY, en su lugar, puede tomar la línea de coincidencia superior, en lugar de esperarMAXa que regrese una agregación ( ).si desea que TODOS los valores vuelvan en esas otras columnas, pero desea contraerlo en una sola entrada, consulte: https://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in -transact-sql /
fuente