说我有$Serv = New-Object -TypeName PSObject
$Serv | Add-Member -MemberType NoteProperty -Name Cn -Value Computername
$Serv | Add-Member -MemberType NoteProperty -Name Inf -Value ""
function getInf (){
$Inf = [ordered]@{
SiteConfig = "a";
BrokerController = "b";
AdminRoles = "c";
}
$Serv.Inf = $Inf
}
getInf
$ServResult = Invoke-Command -Cn $Serv.Cn -Credential $Cred -ScriptBlock {
param($Serv)
Invoke-Command -ScriptBlock ([ScriptBlock]::Create($Serv.getInf))
$Serv
}-ArgumentList $Serv
Remove-PSSession -ComputerName $Serv.Cn
$ServResult.Inf
和usertable
。
ordertable
的条件是我会多次获得同一个用户。
如何在Linq中执行usertable
和distinct
在SQL中它是:
sum()
答案 0 :(得分:1)
您可以使用GroupJoin
创建一个查询,该查询汇总每个用户的订单金额:
var query = users
.Where(user => user.Type == 1 && user.External == 1)
.GroupJoin(
orders,
user => user.Id,
order => order.UserId,
(user, ordersForUser) => new {
user.Name,
user.Phone,
Amount = ordersForUser.Sum(order => order.Amount)
}
);
您建议的用户名和手机查询组。此查询对用户ID进行分组,我认为这是您真正想要的。如果两个不同的用户具有相同的名称和电话,则会有所不同。
答案 1 :(得分:0)
举个例子。试试你的标准。在示例中,Count将给出具有不同的列的总和。
from l in logins
group l by l.Date into g
select new
{
Date = g.Key,
Count = (from l in g select l.Login).Distinct().Count()
};