gpt4 book ai didi

sql - 如何在 SQL 中将两个类别分组为一个组

转载 作者:行者123 更新时间:2023-12-02 06:56:14 25 4
gpt4 key购买 nike

我想将 C、C++、C# 和 VB、VB.NET 分组为具有汇总结果的不同的单一类别。是否需要将队名代入一个统一的值(例如将C,C++,C#代入“C related”),然后进行分组?

哪个在性能方面更好?我需要使用商店程序吗?有人可以告诉我该怎么做吗?谢谢!

PS:我使用的是SQL Server

原始表格

INSERT INTO Table1
([Team], [Room])
VALUES
('Java', 'Room A'),
('Java', 'Room B'),
('Java', 'Room C'),
('Java', 'Room A'),
('Java', 'Room C'),
('C++', 'Room A'),
('C++', 'Room B'),
('C++', 'Room C'),
('C', 'Room A'),
('C', 'Room B'),
('C', 'Room C'),
('VB', 'Room B'),
('VB', 'Room C'),
('C#', 'Room A'),
('C#', 'Room B'),
('C#', 'Room C'),
('VB.Net', 'Room A'),
('VB.Net', 'Room B'),
('VB.Net', 'Room C')

预期输出

('Team', 'Room', 'Count'),
('Java', 'Room A', 2),
('Java', 'Room B', 1),
('Java', 'Room C', 2),
('C related', 'Room A', 3),
('C related', 'Room B', 3),
('C related', 'Room C', 3),
('VB related', 'Room A', 1),
('VB related', 'Room B', 2),
('VB related', 'Room C', 2)

最佳答案

我会有另一个表将语言映射到语系。也就是说,Java 将映射到一个值,比方说,1,与 C 相关的值映射到 2,与 VB 相关的值映射到 3。然后,您可以连接这两个表并按语言家族分组。这应该比按字符串分组执行得更好。如果您有兴趣进一步提高性能,您可以对语言系列进行非规范化并在表中添加一列。

关于sql - 如何在 SQL 中将两个类别分组为一个组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30992755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com