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

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

0 голосов
/ 11 ноября 2009

У меня есть следующая таблица «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 и subsonic 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)))

Спасибо

1 Ответ

0 голосов
/ 12 ноября 2009

Получил решение:

    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;
...