gpt4 book ai didi

c# - LINQ 查询从使用包含 GROUP BY 和 COUNT 的子查询的 SQL 转换而来

转载 作者:行者123 更新时间:2023-11-30 22:12:54 24 4
gpt4 key购买 nike

首先,如果之前有人问过这个问题,我深表歉意,但我已经尝试在这里(几天)搜索了几十个问题,但找不到合适的问题。

我正在尝试将常见的 SQL 查询转换为 LINQ。这是一个简化的代码版本,如果我能够使用 SQL 语句...

List<T> myData = new List<T>(); // (Employee, Age, Department);
myData.Add("Bill", 34, "IT");
myData.Add("Fred", 23, "ACCOUNTS");
myData.Add("Jane", 44, "SALES");
myData.Add("Sally", 56, "IT");
myData.Add("Harry", 33, "ACCOUNTS");


List<T> filteredData = SELECT * FROM myData
WHERE Department IN (
SELECT Department
FROM myData
GROUP BY Department
HAVING (COUNT(Department) > 1)
)
ORDER BY Department, Employee

So that filteredData contains:
Fred, 23, ACCOUNTS
Harry, 33, ACCOUNTS
Bill, 34, IT
Sally, 56, IT

这需要生成一个列表,其中包含拥有多个员工的部门内的员工。

任何人都可以将此要求转换为 LINQ 格式和使用方法(扩展名?)格式吗?

最佳答案

这也应该有效:

var filteredData = myData.GroupBy(x => x.Department)
.Where(x => x.Count() > 1)
.SelectMany(x => x)
.OrderBy(x => x.Department)
.ThenBy(x => x.Employee)
.ToList();

关于c# - LINQ 查询从使用包含 GROUP BY 和 COUNT 的子查询的 SQL 转换而来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19464908/

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