首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >linq to sql选择distinct,计数distinct

linq to sql选择distinct,计数distinct
EN

Stack Overflow用户
提问于 2015-06-01 11:57:29
回答 1查看 1.1K关注 0票数 0

我很难创建一个linq2 sql查询。我有一张桌子,里面有媒体的记录。其中一列是媒体类型,如CD、DVD等。

我需要拉一个列表,为我提供存在的每种媒体类型(选择不同类型(Mediatype))以及该媒体类型的计数( count (mediatype))

我已经能够创建一个独特的列表,但似乎不知道如何合并计数。我有。

代码语言:javascript
运行
复制
Dim medialist = (From m In dc.tbDatas
                 Select m.mediatype).Distinct()

任何帮助都很感激。

更新..。这是我的最新查询

代码语言:javascript
运行
复制
Dim meadialist = (FROM m In dc.tbDatas
                  WHERE m.PassFail = True AndAlso m.DateProcessed.HasData
                  Group By m Into Group
                  Select MediaType = m.MediaType, MediaCount = Group.Count()).ToArray()

更新2..。这是给出我需要的结果的查询..。即MediaType列表和该媒体类型的计数。

代码语言:javascript
运行
复制
Dim meadialist = (FROM m In dc.tbDatas
                  WHERE m.PassFail = True AndAlso m.DateProcessed.HasData
                  Group By m.MediaType Into Group
                  Select MediaType, MediaCount = Group.Count()).ToArray()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-01 12:16:43

如果您试图计算不同媒体的数量:

代码语言:javascript
运行
复制
Dim medialistCount = medialist.Count()

如果您试图计算每种媒体类型的数量:

代码语言:javascript
运行
复制
Dim medialist = (From m in dc.tbDatas 
    Group By m Into Group
    Select MediaType = m.mediatype, MediaTypeCount = Group.Count()).ToArray()

第二个linq查询组并将每种类型的媒体类型计数为一个匿名类型数组。

代码语言:javascript
运行
复制
For Each m in medialist
    Console.WriteLine(m)
Next

抽样产出:

代码语言:javascript
运行
复制
{ MediaType = Type1, MediaTypeCount = 2 }
{ MediaType = Type2, MediaTypeCount = 1 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30572898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档