我已经看过其他几个类似的帖子,但不能完全解决我的情况。如果我有一个包含许多帖子的论坛,我想获取最新帖子的列表 - 但每个主题只有一个帖子。所以我想要 Distinct(threadID) 但 max(Time)。那些自己很容易,但我还想选择与该特定行相关的其他列
var posts = from s in websiteDB.Forum_Post
orderby s.Time
select new ForumPostSummary()
{
UserID = s.UserID ?? default(int),
Time = s.Time ?? default(int),
Subject = s.Subject,
ThreadID = s.ThreadID ?? default(int)
};
posts = posts.Take(10);
示例表:
| UserID | Time | Subject | ThreadID |
| 1 | 10:00 | ABC | 999 |
| 2 | 10:01 | Re:DEF | 998 |
| 3 | 10:02 | Re:ABC | 999 |
| 4 | 09:40 | DEF | 998 |
| 5 | 09:45 | Re:DEF | 998 |
我想要按用户 ID 3(线程 999 的最新时间和总体上的最新时间)和用户 ID 2(线程 998 的最新时间)的行。我只是为了解释我想要哪些行而引用 UserID 来获取结果。我实际上是从 MySQL 数据库中查询数据并插入到 SqlExpress 中,尽管这个问题适用于两种形式略有不同的数据库!
| 3 | 10:02 | Re:ABC | 999 |
| 2 | 10:01 | Re:DEF | 998 |