0

我已经寻找解决方案,但没有类似的。我的问题是我想从数据库中选择数据,按 UserID 分组并按状态 id 计数

用户

UserID
Name

约会

UserID
ClientID
Status
StartDate

状态可以是活动=1,取消=2,完成=3

这就是我将显示结果的方式。

结果表

提前致谢。

4

2 回答 2

1

在你的问题中,你说你想分组UserId,但在你显示的输出中Name。此查询将对两者进行分组。您可能希望根据需要对其进行调整。

from u in tblUsers
join a in tblAppointments on u.UserID equals a.UserID
group a by new { u.UserID, u.Name } into g
select new
{
    Name     = g.Key.Name,
    Active   = g.Count (x => x.Status == 1),
    Canceled = g.Count (x => x.Status == 2),
    Done     = g.Count (x => x.Status == 3)
}

(如果两个用户具有相同的名称,这将处理这种情况)

于 2012-01-30T17:18:57.453 回答
0

这包括分组运算符这涵盖了计数。

于 2012-01-30T17:16:22.333 回答