簡體   English   中英

按包含數組的JSON列分組

[英]group by JSON Column that contains an array

我有下表:

表

包含以下數據:

數據

如何按JSON列中的數組項分組? 並得到以下結果:

預期結果

您可以嘗試將OPENJSONCROSS APPLY結合使用。

SELECT
    col1,
     UserID
FROM T t1
CROSS APPLY
    OPENJSON(t1.Roles)
    WITH
        (
            col1 varchar(50) N'$'
        ) AS a

sqlfiddle

如果您不能使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM