gpt4 book ai didi

.net - Order By 基于 Dictint Group 计数

转载 作者:太空狗 更新时间:2023-10-30 01:56:30 26 4
gpt4 key购买 nike

我必须从表中取出那些具有特定单词的文档,并且我必须使用 order by 以便那些具有最高计数的文档排在第一位。例如

文件 1:这是一所学校。这是我的学校
资料二:这是我们的学校
文件3:我的学校是这这这这

现在如果我使用

选择 Document.Id、Document_Word.Location
来自文档、文档_Word、word
其中 Document.Id = Document_Word.Document_Id
和 Document_Word.Word_Id = Word.Id
和 Word.Word = 'this'

结果是
result

我想根据唯一 ID 的计数降序排列......我实际上需要 LINQ 查询来解决这个问题

这是我的数据库模式

Schema

希望我已经清楚地说明了我的问题...

最佳答案

这是一个使用 Entity Framework 的示例,

using (var context = new MyDbContext())
{
var documentEntities = (from document in context.Documents
join document_word in context.Document_Word on document equals document_word.Document
join word in context.Words on document_word.Word equals word
where word.Word1 == "this" // Filter for word = "this"
group document_word by document_word.Document.Id into documentWordGroup // First group Document_Words by document Id so that we can sort based on the Id count
let IdCount = documentWordGroup.Count() // store the count into a variable IdCount
orderby IdCount descending // here we sort by the IdCount
select documentWordGroup).ToArray() // select the sorted Document_Word groups
.SelectMany(dw => dw); // combine the groups into a single array of Document_Words

//Display the result in the Console output
Console.WriteLine("ID" + "\t" + "Location");
foreach (var document in documentEntities)
{
Console.WriteLine(document.Document.Id + "\t" + document.Location);
}
}

关于.net - Order By 基于 Dictint Group 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22500924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com