Группировка с SubSonic 3

Asked
Viewd137

0

У меня есть следующая таблица "GroupPriority":

 Id   Group   Priority
 1       1         0
 2       2         0
 3       3         0
 4       2         1
 5       1         1
 6       2         2
 7       3         1
 

Я хотел бы сгруппировать их в «Группу», отсортировать их по «Приоритету», а затем получить по одному в каждой «Группе» с наивысшим приоритетом с использованием linq и дозвуковой 3.

В этом случае результатом будет:

 Id   Group   Priority
 5       1          1
 6       2          2
 7       3          1
 

sql будет выглядеть так:

 SELECT *
FROM   GroupPriority
WHERE  (Priority =
                  (SELECT  MAX(Priority)
                   FROM    GroupPriority
                   WHERE   (Group = GroupPriority.Group)))
 

Спасибо

  • изменил его, удалил из первого сообщения и добавил ответ

    Andreas12 ноября 2009, 10:35
  • Вы можете ответить на свой вопрос вместо редактирования самого вопроса.Это позволяет другим голосовать за правильность вашего ответа.

    Dave Neeley12 ноября 2009, 05:47

1 ответов

0

Есть решение:

     var group_query = new Query<GroupPriority>(provider);
    var items = from gp in group_query
                where gp.Priority == 
                    (from gp_sub in group_query
                     where gp_sub.Group == gp.Group
                     select gp_sub.Priority).Max()
                select gp;