You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL中按指定状态筛选行并统计周度去重用户数?

按周统计订单去重用户数的LINQ实现问题

需求说明

从orders表中,按周统计符合指定状态的订单的去重用户数:

  • 目标状态:枚举值1|2|3|4|5,对应OrderStatus.Complete、Processing、PartiallyShipped、Cancelled、Fraudulent、SuspectedFraud
  • 同一用户可能有多笔订单,需按OrderDate范围约束,按周分组统计去重用户数

已尝试的LINQ代码

db.Orders.GetAll().Where(q =>
(q.Status == OrderStatus.Complete || q.Status == OrderStatus.Processing || q.Status == OrderStatus.PartiallyShipped || q.Status == OrderStatus.Cancelled || q.Status == OrderStatus.Fraudulent || q.Status == OrderStatus.SuspectedFraud) &&
(startDate == null || DbFunctions.TruncateTime(q.OrderDate) >= DbFunctions.TruncateTime(startDate)) &&
(endDate == null || DbFunctions.TruncateTime(q.OrderDate) <= DbFunctions.TruncateTime(endDate))
).Distinct().Count();

疑问

不知道怎么通过Group By实现按周的准确分组统计。


内容的提问来源于stack exchange,提问作者shubham maini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 11:52:40