Я видел несколько других сообщений, подобных этому, но не могу полностью решить эту проблему. Если у меня есть форум с несколькими сообщениями, я хочу получить список последних сообщений, но только одно сообщение в потоке. Поэтому я хочу Distinct (threadID), но max (Time). Те, на их собственном легко достаточно, но я хочу также выбрать другие столбцы, связанные с этой конкретной строкойLINQ select different, multiple columns
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 |
Я хотел бы строки от идентификатора пользователя 3 (последнее времени для потока 999 и последнего времени в целом) и userID 2 (последнее время для потока 998). Я ссылаюсь на UserID для результатов просто для объяснения, какие строки я хочу. Я действительно запрашиваю данные из базы данных MySQL и вставляю их в SqlExpress, хотя эта проблема применима к обеим базам данных в несколько разных формах!
| 3 | 10:02 | Re:ABC | 999 |
| 2 | 10:01 | Re:DEF | 998 |
Спасибо, Джон. Наверное, я путался с несколькими выборами и группировкой, все в одном и том же запросе! У меня также есть соединение (не в оригинальном вопросе), но мне удалось снова вставить это в порядке. Еще раз спасибо. – GeoffM