【发布时间】:2022-09-23 20:59:58
【问题描述】:
我有一张表来跟踪邮箱和组。 1 个邮箱将有 3 个不同的组。我想查看所有邮箱和群组每天的连接状态。我创建了以下查询,但它返回多行。我想汇总如下数据。有人可以帮忙吗!
Select cast (CreatedDate as Date), Connected, GroupOrMbx, GroupType
from [dbo].[Mbx_test]
group by cast (CreatedDate as Date), Connected, GroupOrMbx, GroupType
预期输出:
表格和数据
CREATE TABLE [dbo].[Mbx_test](
[GroupOrMbx] [varchar](10) NOT NULL,
[GroupName] [varchar](255) NULL,
[GroupEmail] [varchar](255) NULL,
[GroupType] [varchar](10) NULL,
[MBXName] [varchar](255) NULL,
[MBXEmail] [varchar](255) NULL,
[Connected] [bit] NOT NULL,
[CreatedDate] [datetime] NOT NULL
)
INSERT INTO Mbx_test
VALUES
(\'mbx\', NULL, NULL,NULL,\'mbx1\',\'mbx1@test.com\',1,\'2022-09-22\'),
(\'group\', \'group1\',\'group1@test.com\',\'W\',\'mbx1\',\'mbx1@test.com\',1,\'2022-09-22\'),
(\'group\', \'group2\',\'group2@test.com\',\'M\',\'mbx1\',\'mbx1@test.com\',1,\'2022-09-22\'),
(\'group\', \'group3\',\'group3@test.com\',\'R\',\'mbx1\',\'mbx1@test.com\',1,\'2022-09-22\'),
(\'mbx\', NULL, NULL,NULL,\'mbx2\',\'mbx2@test.com\',1,\'2022-09-22\'),
(\'group\', \'group4\',\'group4@test.com\',\'W\',\'mbx2\',\'mbx2@test.com\',1,\'2022-09-22\'),
(\'group\', \'group5\',\'group5@test.com\',\'M\',\'mbx2\',\'mbx2@test.com\',1,\'2022-09-22\'),
(\'group\', \'group6\',\'group6@test.com\',\'R\',\'mbx2\',\'mbx2@test.com\',1,\'2022-09-22\'),
(\'mbx\', NULL, NULL,NULL,\'mbx3\',\'mbx3@test.com\',0,\'2022-09-22\'),
(\'group\', \'group7\',\'group7@test.com\',\'W\',\'mbx3\',\'mbx3@test.com\',0,\'2022-09-22\'),
(\'group\', \'group8\',\'group8@test.com\',\'M\',\'mbx3\',\'mbx3@test.com\',0,\'2022-09-22\'),
(\'group\', \'group9\',\'group9@test.com\',\'R\',\'mbx3\',\'mbx3@test.com\',0,\'2022-09-22\'),
(\'mbx\', NULL, NULL,NULL,\'mbx4\',\'mbx4@test.com\',0,\'2022-09-22\'),
(\'group\', \'group10\',\'group10@test.com\',\'W\',\'mbx4\',\'mbx4@test.com\',0,\'2022-09-22\'),
(\'group\', \'group11\',\'group11@test.com\',\'M\',\'mbx4\',\'mbx4@test.com\',0,\'2022-09-22\'),
(\'group\', \'group12\',\'group12@test.com\',\'R\',\'mbx4\',\'mbx4@test.com\',0,\'2022-09-22\')
代码保存在这里 https://dbfiddle.uk/WRW7xKeO
-
我们如何知道如何将每个
group行与mbx行相关联?请记住,SQL 表没有固有的顺序。我们是按vMBXName或MBXEmail分组吗?也不清楚其余列的来源。我们有条件地聚合它们吗?依据什么标准?例如:Connected是如何计算的,基于所有行为 1 或所有行为 0?
标签: sql-server pivot