group by JSON包含数组的列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了group by JSON包含数组的列相关的知识,希望对你有一定的参考价值。
答案
您可以尝试使用OPENJSON和CROSS APPLY
来制作它。
SELECT
col1,
UserID
FROM T t1
CROSS APPLY
OPENJSON(t1.Roles)
WITH
(
col1 varchar(50) N'$'
) AS a
另一答案
如果你不能使用OPENJSON,这里有一个替代方案
Select
aRole, COUNT(*) as cnt
From (
Select
a.ID
,b.Items as aRole
From
(Select *
,replace(replace(replace(Roles,'[',''),']',''),'"','') as Rolesx
From JSONgroup) a
Cross Apply dbo.Split(a.Rolesx, ',') b
) c
group by aRole
以上是关于group by JSON包含数组的列的主要内容,如果未能解决你的问题,请参考以下文章
ORDER BY 子句中的列无效,因为它不包含在聚合函数或 GROUP BY 子句中
SQL:选择列表中的列无效,因为它不包含在聚合函数或 GROUP BY 子句中[关闭]
选择列表中的列“X”无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中
选择列表中的列……无效,因为该列没有包含在聚合函数或 GROUP BY 子句中