Sql server 选择“以逗号分隔,以摘要计数?”?
SQL Server,如何使用摘要计数选择到逗号分隔?Sql server 选择“以逗号分隔,以摘要计数?”?,sql-server,Sql Server,SQL Server,如何使用摘要计数选择到逗号分隔? 我有以下数据: DECLARE @TB TABLE (ID INT, APP VARCHAR(1)) INSERT INTO @TB VALUES (1, 'A'), (1, 'A'), (1, 'B'), (1, 'C'), (1, 'C'), (2, 'A'), (2, 'B'), (2, 'B') 我想这样查询结果: 我不确定您是否可以在T-SQL中轻松做到这一点。您是否考虑过将其改为JSON?在应用程序值和计数之间感觉到更多KV
我有以下数据:
DECLARE @TB TABLE (ID INT, APP VARCHAR(1))
INSERT INTO @TB
VALUES
(1, 'A'),
(1, 'A'),
(1, 'B'),
(1, 'C'),
(1, 'C'),
(2, 'A'),
(2, 'B'),
(2, 'B')
我想这样查询结果:
我不确定您是否可以在T-SQL中轻松做到这一点。您是否考虑过将其改为JSON?在应用程序值和计数之间感觉到更多KVP类型的数据
看看这是否适合您。我不确定您是否可以在T-SQL中轻松做到这一点。您是否考虑过将其改为JSON?在应用程序值和计数之间感觉到更多KVP类型的数据
查看一下,看看这是否适合您。如果您使用的是SQL Server2017或更高版本,您可以使用以下字符串-
DECLARE @TB TABLE (ID INT, APP VARCHAR(1))
INSERT INTO @TB
VALUES
(1, 'A'),
(1, 'A'),
(1, 'B'),
(1, 'C'),
(1, 'C'),
(2, 'A'),
(2, 'B'),
(2, 'B')
SELECT
ID, STRING_AGG (T, ',')
FROM
(SELECT ID, APP + ' ' + CAST(COUNT(*) AS VARCHAR) T
FROM @tb
GROUP BY ID,APP) A
GROUP BY ID
适用于SQL Server 2016或更早版本-
如果您使用的是SQL Server2017或更高版本,则可以使用以下字符串\u AGG-
DECLARE @TB TABLE (ID INT, APP VARCHAR(1))
INSERT INTO @TB
VALUES
(1, 'A'),
(1, 'A'),
(1, 'B'),
(1, 'C'),
(1, 'C'),
(2, 'A'),
(2, 'B'),
(2, 'B')
SELECT
ID, STRING_AGG (T, ',')
FROM
(SELECT ID, APP + ' ' + CAST(COUNT(*) AS VARCHAR) T
FROM @tb
GROUP BY ID,APP) A
GROUP BY ID
适用于SQL Server 2016或更早版本-
你的MSSQL版本是什么?MSSQL Server 2016你的MSSQL版本是什么?MSSQL Server 2016我正在使用SQL Server 2016Ohh。。。然后您可以检查MSSQL中的内容语法。@Sophairk,请检查答案中添加的MSSQL 2016或更早版本的脚本。我正在使用SQL Server 2016Ohh。。。然后您可以检查MSSQL中的内容语法。@Sophairk,请检查答案中添加的MSSQL 2016或更早版本的脚本。我不明白,我正在构建一个报告过程。我不明白,我正在构建一个报告过程。