LINQ groupby和count
我有以下LINQ查询:LINQ groupby和count,linq,count,group-by,Linq,Count,Group By,我有以下LINQ查询: From metasect In DirectCast(Form.ChildDocBox.Tag, META_DOCUMENT).META_SECTIONS From metaset In metasect.META_SETS From metacell In metaset.META_CELLS From lookup In metacell.CHILD_META_CELL_CELLS_LOOKUPS Where lookup.PARENT_META_CELL_META
From metasect In DirectCast(Form.ChildDocBox.Tag, META_DOCUMENT).META_SECTIONS
From metaset In metasect.META_SETS
From metacell In metaset.META_CELLS
From lookup In metacell.CHILD_META_CELL_CELLS_LOOKUPS
Where lookup.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_DOCUMENT.META_DOC_ID = docToDelete.META_DOC_ID
Select metasect.META_SECT_NAME + " gets from " + lookup.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_SECT_NAME Distinct
Select指令选择一个可以重复的表达式,因为在同一对父元节和子元节上有多个查找,所以我添加了一个Distinct子句
现在,我想计算一下每对父母/孩子的查找次数
差不多
SELECT metasect.META_SECT_NAME + " gets from " + lookup.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_SECT_NAME,
COUNT(lookup)
FROM ...
WHERE ...
GROUP BY metasect.META_SECT_NAME + " gets from " + lookup.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_SECT_NAME
提前感谢您的建议:)我用两步法解决了这个问题
Dim all = From metasect In DirectCast(Form.ChildDocBox.Tag, META_DOCUMENT).META_SECTIONS
From metaset In metasect.META_SETS
From metacell In metaset.META_CELLS
From lookup In metacell.CHILD_META_CELL_CELLS_LOOKUPS
Where lookup.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_DOCUMENT.META_DOC_ID = docToDelete.META_DOC_ID
Select lookup
For Each grp As IGrouping(Of String, ICELLS_LOOKUP) In
all.GroupBy(Function(l) l.CHILD_META_CELL_META_CELL.META_SET.META_SECTION.META_SECT_NAME + " gets from " + l.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_SECT_NAME)
'do some stuff with grp.Key() & grp.Count()'
Next