【发布时间】:2017-12-02 17:43:27
【问题描述】:
我在将 SQL 转换为 LINQ 时遇到了一些问题,恰好是 Group by 和 Average 的混合。我尝试以不同的方式解决它,但没有预期的结果。
SQL:
SELECT TOP 3
AVG([Grade])
,[User].FirstName
,[User].Surname
,[Student].StudentID
,[Student].ClassID
FROM [Szkola].[dbo].[School_Class]
JOIN [Szkola].[dbo].[Student]
ON School_Class.ClassID = Student.ClassID
JOIN [Szkola].[dbo].[School_Grades]
ON Student.StudentID = School_Grades.StudentID
JOIN [Szkola].[dbo].[Teacher]
ON Teacher.TeacherID = School_Grades.TeacherID
JOIN [Szkola].[dbo].[User]
ON Student.UserID = [User].UserID
WHERE [Teacher].[Subject] = 'Mathematics'
GROUP BY [Student].[StudentID], [Student].[ClassID], [User].[FirstName],
[User].[Surname]
ORDER BY AVG([Grade]) DESC
您能否描述一下您的解决方案的具体工作原理?我读过 LINQ 和 Group by,但我想我会在这个例子中更好地理解它。
非常感谢。
【问题讨论】:
-
您需要搜索并阅读一些教程。到目前为止,您是否尝试过使用 LINQ 的任何方法
-
在 SQL 平均和 GroupBy Linq 上进行谷歌搜索与 2 的定义无关,但最好你了解它与聚合等有关的内容。我将从那里开始.. 1000 的sql函数示例/在线解释
-
能否请您展示您的工作代码,这可能是一个很好的起点。我们确实会帮助有特定问题的人,但我们不是来为您编写的。
标签: c# sql .net sql-server linq