【发布时间】:2013-12-26 10:24:17
【问题描述】:
我必须在 c# 中使用 linq to sql 进行查询。我可以在 sql 中处理它,但在 linq 中 sql 不是我想要得到的结果。 所以有一张桌子:
- 一天,日期时间,日期和时间
- 还有一种id
我必须计算每个日期的 id,时间并不重要。所以结果 应该是这样的:
day: 2013-11-12 amountIDs: 4
人们对我说,我可以进行选择新查询,在此查询中我可以设置日期 并且可以计算id,或者我每天做一个组。我读过类似的问题,但它不适用于我的情况。
有人可以帮我吗?
我用下面的语句试过了,但是天必须分组,所以现在输出是foreach datetime,像这样
day: 12.12.2013 12:00:00 amountIDs: 1
day: 12.12.2013 12:10:10 amountIDs: 1
在sql中我做了这样的声明:
SELECT CONVERT(VARCHAR(20), data.dayandtime, 106) AS day, count(data.amountIds) as ids
FROM data
WHERE ( data.dayandtime >= DATEADD(day, -28, getdate()) AND (data.type = 100) AND (data.isSomething = 0) )
GROUP BY CONVERT(VARCHAR(20), data.dayandtime, 106), data.isSomthing and it works.
我看到了类似的案例,人们做了一个 :from-select-new xyz 声明,然后我对其进行了查看并尝试仅对视图进行分组。像这样
var query = data.GroupBy(g => g.day.Value).ToList();
【问题讨论】:
-
向我们展示查询;提供您将其转换为 LinqToSql 查询的步骤,这样我们也许可以告诉您哪里出错了
-
我重写了我的问题。现在更具体了吗?
标签: c# linq linq-to-sql