我怎么能在LINQ中做GroupBy多列 在SQL中与此类似的东西: SELECT * FROM <TableName> GROUP BY <Column1>,<Column2> 我如何将其转换为LINQ: QuantityBreakdown ( MaterialID int, ProductID int, Quantity float ) INSERT INTO @QuantityBreakdown (MaterialID, ProductID, Quantity) SELECT MaterialID, ProductID, SUM(Quantity) FROM @Transactions GROUP BY MaterialID, ProductID
假设我们有一个类 class Person { internal int PersonID; internal string car ; } 现在我有这个类的列表: List<Person> persons; 现在这个列表可以有多个具有相同PersonID的实例,例如: persons[0] = new Person { PersonID = 1, car = "Ferrari" }; persons[1] = new Person { PersonID = 1, car = "BMW" }; persons[2] = new Person { PersonID = 2, car = "Audi" }; 有没有一种方法可以通过personID进行分组并获得他拥有的所有赛车的列表? 例如,预期的结果是 class […]
在这里可以找到很多类似的问题,但是我不认为这个问题有足够的答案。 我会继续从当前最流行的问题,并使用他们的例子,如果没关系。 在这个例子中,任务是获取数据库中每个作者的最新帖子。 示例查询产生不可用的结果,因为它并不总是返回的最新帖子。 SELECT wp_posts.* FROM wp_posts WHERE wp_posts.post_status='publish' AND wp_posts.post_type='post' GROUP BY wp_posts.post_author ORDER BY wp_posts.post_date DESC 目前接受的答案是 SELECT wp_posts.* FROM wp_posts WHERE wp_posts.post_status='publish' AND wp_posts.post_type='post' GROUP BY wp_posts.post_author HAVING wp_posts.post_date = MAX(wp_posts.post_date) <- ONLY THE LAST POST FOR EACH AUTHOR ORDER BY wp_posts.post_date DESC 不幸的是,这个答案是简单明了的错误,在许多情况下,产生的结果比原始查询的结果要少。 我最好的解决方案是使用表单的子查询 SELECT wp_posts.* FROM ( SELECT * […]