与 SubSonic 3 分组

发布于 2024-08-10 13:00:06 字数 691 浏览 5 评论 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

我想将它们分组在“Group”上,按“Priority”排序,然后使用 linq 和 subsonic 3 获取每个“Group”中具有最高优先级的一个

。在这种情况下,结果将是:

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)))

谢谢

I have the following table "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

I would like to group these on "Group", order them by "Priority" and then get the one in each "Group" with the highest Priority with the use of linq and subsonic 3.

In this case the result would be:

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

The sql would look like this:

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

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏了南城 2024-08-17 13:00:06

得到了解决方案:

    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;

Got the solution:

    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;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文