gpt4 book ai didi

c# - 将 SQL 转换为 Linq 查询

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:28 24 4
gpt4 key购买 nike

我正在尝试将以下查询的输出放入 Linq 查询中

SELECT SearchQueries.Query,
Clicks.Name,
COUNT (SearchQueries.Query) AS Hits
FROM SearchQueries
INNER JOIN Clicks ON Clicks.SearchqueryId = SearchQueries.Id
GROUP BY SearchQueries.Query, Clicks.Name
ORDER BY Hits DESC

但我似乎不知道该怎么做;这是我目前所拥有的

var result =
_db.Clicks.Select(q => q)
.GroupBy(q => q.Name, g => g.Searchquery.Query)
.ToDictionary(g=> g.Key, g => g);

但我该如何继续呢?

结果是这样的:

+---------------+-------------------+------+
|Query | Name | Hits |
+---------------+-------------------+------+
|tag | dnfsklmfnsd | 53 |
|tag2 | dgsqfsdf | 17 |
+---------------+-------------------+------+

原始表格如下所示

搜索查询

+---+-------+
|Id | Query |
+---+-------+
| 1 | tag | x 53
| 2 | tag2 | x 17
+---+-------+

点击次数

+---+-------------------+---------------+
|Id | Name | SearchqueryId |
+---+-------------------+---------------+
| 1 | dnfsklmfnsd | 1 |
| 2 | dgsqfsdf | 2 |
+---+-------------------+---------------+

最佳答案

尝试使用 GroupByCount:(我将顺序更改为使用 SearchQueries 作为表达式中的“基表”,只是为了使其更容易与 SQL 语句进行比较)

var result =
_db.SearchQueries
.GroupBy(sq => new { name = sq.Clicks.Name, query = sq.Query)
.Select(sq => new {
Query = sq.Query,
Name = sq.Clicks.Name,
Hits = sq.Count()
})
.OrderByDescending(sq => sq.Hits);

关于c# - 将 SQL 转换为 Linq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40043338/

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