Linq不同的列加上数据表的计数

时间:2017-09-26 18:05:06

标签: c# linq

希望根据服务器名称和资源组提取不同的列表,但也提供通道计数。数据表示例:

resourceGroup serverName    circuitId   channelId
SIP           win1234       0           1
SIP           win1234       0           2
TDM           win5678       0           35      
TDM           win5678       0           36
SIP           win5678       4           47
TDM           win1234       8           56

预期结果:

serverName  resourceGroup   channelCount
win1234     SIP             2
win1234     TDM             1
win5678     SIP             1
win5678     TDM             2

2 个答案:

答案 0 :(得分:1)

我为你创建了一个DotNetFiddle

您正在寻找GroupBy。

public function image_list()
{ 
$select = "it.type_id, it.profile_pic, it.type, it.location, it.name, im.image_path";

return $this->db->select($select)
//equivalent to name as abr
->join('interior_image_testing im', 'im.type_id = it.type_id');
->where('it.category_id', 3);
//equivalent to name as abr
->get('interior_testing it')->result();

}

如果有帮助,请告诉我。

答案 1 :(得分:0)

您需要做的就是使用group by。

选择serverName,resourceGroup,count(1)  来自TABLE_Name group by serverName,resourceGroup 有count(1)> = 1;