【发布时间】:2021-12-05 17:54:32
【问题描述】:
我正在尝试编写一个查询,它只返回那些包含每个名称的最新日期的行。
例如,这个数据:
| Name | Date Sold | More Columns... |
|---|---|---|
| Bob | 2021-01-05 | |
| Mike | 2021-01-18 | |
| Susan | 2021-01-23 | |
| Bob | 2021-02-04 | |
| Susan | 2021-02-16 | |
| Mike | 2021-03-02 |
会产生这样的结果:
| Name | Date Sold | More Columns... |
|---|---|---|
| Bob | 2021-02-04 | |
| Susan | 2021-02-16 | |
| Mike | 2021-03-02 |
有点像GROUP BY,但我没有汇总任何内容。我只想过滤原始行。
我怎么能写这样的查询?
注意:最后,这将是一个 SQL Server 查询,但我需要使用实体框架编写它。
更新:实际上,这是一个更复杂的查询的一部分。对我来说,将其实现为原始 SQL 查询将非常困难。如果可能的话,我需要使用实体框架来实现。
【问题讨论】:
-
这能回答你的问题吗? Get top 1 row of each group
-
@SMor:看起来很相似,但我认为这种方法在实体框架中是不可能的。
-
也许将行号放在视图中,然后在 EF 中选择
标签: c# sql-server entity-framework linq .net-5