获取日期期间最畅销的 10 种产品

2023-12-29

我想返回用户指定日期内销量最高的 10 种产品(数量最多)。

我的数据库表:

Orders

OrderId | OrderDate

订单_产品:

ProductID | OrderID | Quantity

Products

ProductID | ProductName | ProductDescription

Code:

return (from product in this.Entities.Products
        from orderProduct in this.Entities.Order_Product 
        from order in this.Entities.Orders
        where order.OrderId = orderProduct.ProductID && orderProduct.ProductID == product.ProductID
        where (order.OrderDate >= date1 &&  <= date2)
        select product).OrderByAscending(COUNT(Quantity)).Distinct().Take(10);

到目前为止的代码。


我可以想到两种方法来做到这一点

这对每个产品执行子查询,以总结日期范围内销售的数量。这对我来说似乎最清楚,但可能表现不佳

  var query = 
   (from p in Entities.Products
    let totalQuantity = ( from op in Entities.Order_Product
                          join o in Entities.Orders on op.OrderID equals o.OrderId
                          where op.ProductID == p.ProductID && o.OrderDate >= date1 && o.OrderDate <= date2
                          select op.Quantity ).Sum()
    where totalQuantity > 0
    orderby totalQuantity descending
    select p).Take(10);

或者作为单个查询,获取日期范围内的所有订单,按产品对它们进行分组,并对数量求和。

  var query = 
   (from p in Entities.Products
    join op in Entities.Order_Product on p.ProductID equals op.ProductID
    join o in Entities.Orders on op.OrderID equals o.OrderId
    where o.OrderDate >= date1 && o.OrderDate <= date2
    select new { Product = p, Quantity = op.Quantity } into productQty
    group productQty by productQty.Product into pg
    let totalQuantity = pg.Sum(prod => prod.Quantity)
    orderby totalQuantity descending
    select pg.Key).Take(10);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取日期期间最畅销的 10 种产品 的相关文章

  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • 尝试使用 VS 2012 打开我的 asp.net 4.5 MVC Web 应用程序时出错。Asp.net 尚未在服务器上注册

    我有一个Windows Server 2012 R2 Visual Studio 专业版 2012 现在我用来开发 ASP NET 4 5 MVC 4 Web 应用程序 没有任何问题 但现在当我尝试打开该项目时 我会收到此错误 如果我单击
  • 函数参数的默认参数是否被视为该参数的初始值设定项?

    假设我有这样的函数声明 static const int R 0 static const int I 0 void f const int r R void g int i I 根据 dcl fct default 1 如果在参数声明中指
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • 使用 LINQ to SQL 时避免连接超时的最佳实践

    我需要知道在 net 应用程序中使用 LINQ to SQL 时避免连接超时的最佳实践 特别是在返回时IQueryable
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 为什么我的单选按钮不起作用?

    我正在 Visual C 2005 中开发 MFC 对话框应用程序 我的单选按钮是 m Small m Medium 和 m Large 它们都没有在我的 m Summary 编辑框中显示应有的内容 可能出什么问题了 这是我的代码 Pizz
  • C++ int 前面加 0 会改变整个值

    我有一个非常奇怪的问题 如果我像这样声明一个 int int time 0110 然后将其显示到控制台返回的值为72 但是当我删除前面的 0 时int time 110 然后控制台显示110正如预期的那样 我想知道两件事 首先 为什么它在
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • DataTable.GetChanges() 不断返回 NULL

    我正在尝试获取存在于的所有行allData但不在removeData public static DataTable RemoveDuplicateRows DataTable allData DataTable removeData re
  • 打印大型 WPF 用户控件

    我有一个巨大的数据 我想使用 WPF 打印 我发现WPF提供了一个PrintDialog PrintVisual用于打印派生的任何 WPF 控件的方法Visual class PrintVisual只会打印一页 因此我需要缩放控件以适合页面
  • Unity:通过拦截将两个接口注册为一个单例

    我有一个实现两个接口的类 我想对该类的方法应用拦截 我正在遵循中的建议Unity 将两个接口注册为一个单例 https stackoverflow com questions 1394650 unity register two inter
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • OpenGL:仅获取模板缓冲区而没有深度缓冲区?

    我想获取一个模板缓冲区 但如果可能的话 不要承受附加深度缓冲区的开销 因为我不会使用它 我发现的大多数资源表明 虽然模板缓冲区是可选的 例如 排除它以利于获得更高的深度缓冲区精度 但我还没有看到任何请求并成功获取仅 8 位模板缓冲区的代码
  • 实体框架中的“it”是什么

    如果以前有人问过这个问题 请原谅我 但我的任何搜索中都没有出现 它 我有两个数据库表 Person 和 Employee 对每个类型的表进行建模 例如 Employee is a Person 在我的 edmx 设计器中 我定义了一个实体
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个
  • 我可以在“字节数”设置为零的情况下调用 memcpy() 和 memmove() 吗?

    当我实际上没有什么可以移动 复制的时候 我是否需要处理这些情况memmove memcpy 作为边缘情况 int numberOfBytes if numberOfBytes 0 memmove dest source numberOfBy
  • Objective-C / C 给出枚举默认值

    我在某处读到过关于给枚举默认值的内容 如下所示 typedef enum MarketNavigationTypeNone 0 MarketNavigationTypeHeirachy 1 MarketNavigationTypeMarke
  • 不区分大小写的字符串比较 C++ [重复]

    这个问题在这里已经有答案了 我知道有一些方法可以进行忽略大小写的比较 其中涉及遍历字符串或一个good one https stackoverflow com questions 11635 case insensitive string

随机推荐

  • 当不在 EOF 时 read(2) 可以返回零吗?

    根据 read 2 的手册页 当达到 EOF 时它仅返回零 但是 这似乎是不正确的 有时可能会返回零 也许是因为文件尚未准备好读取 在从磁盘读取文件之前 我应该调用 select 来查看它是否准备好吗 请注意 nBytes 为 1 445
  • 在 UIScrollView 中重写 drawRect 时出现黑色背景

    因此 我尝试覆盖 UIScrollLView 中的drawRect 但是它给了我这个黑色背景 而不是我为 UIScrollView 指定的背景颜色 为什么是这样 如果我删除 drawRect 代码 那么一切都很好 void drawRect
  • 升级到 Safari 7.0.4 后无法设置 Web 检查器断点(本地和远程)

    升级到 OSX 10 9 3 13D65 和 Safari 7 0 4 9537 76 4 后 我无法使用 Safari Web 检查器在我的 cordova 应用程序中设置断点 启用的断点显示为深灰色 禁用的断点显示为浅灰色 调试器 语句
  • 我们可以将 EF 迁移与 MySql 一起使用吗

    有没有办法使用 EntityFramework 4 3 beta 进行 MySql 数据库迁移 我们可以使用 MySql 数据库进行迁移吗 是否可以先使用EF代码进行增量数据库开发 而无需我接触数据库 理论上是的 实际上 您首先需要获取 或
  • 类型为“std::vector”的变量成员的类图

    class Foo class Demo public std vector
  • Bootstrap 3 glyphicon 点击​​时交换状态

    帮助 我希望在 bootstrap 3 中折叠时交换字形图像 我在这里找到了这个线程Bootstrap 3 折叠显示带有 V 形图标的状态 https stackoverflow com questions 18325779 bootstr
  • 从 Bool 到 Bool 有多少种不同的函数?

    由于这 至少在我看来 与编程密切相关 所以我在这里问而不是在math https math stackexchange com or cs https cs stackexchange com 但如果您认为它最适合那里或另一边 请发表您的意
  • 如何获得正则表达式的反函数?

    假设我有一个正则表达式 可以正确查找文本文件中的所有 URL http a zA Z0 9 如果我想要的不是 URL 而是相反的 除 URL 之外的所有其他文本 是否可以进行简单的修改来实现此目的 您可以简单地搜索并用空字符串替换与正则表达
  • mongoose 更新数组或添加到数组

    我已经尝试让它运行一段时间了 但我不知道我做错了什么 我有两个这样的模式 const paymentSchema new Schema year month type String required true status type Boo
  • 为什么SmartGWT没有分页网格?

    很想知道为什么SmartGWT没有分页网格 它是所有企业应用程序必须具备的功能 我找到了 Serendipity 示例 但它在最新版本中不起作用SmartGWT 我可以期待未来支持分页的网格吗 目前 SmartGWT 不支持分页网格 但有多
  • 如何在Flutter中使用TextFormField的按键事件?

    有什么办法可以捕获文本字段中的按键吗 就我而言 当用户在文本字段内按回车键时 这些值将被存储 为此 我需要像 Kotlin Android 中那样使用 Keypress event 我这周才开始尝试 flutter 因为它很有趣而且是跨平台
  • 在c中的Linux套接字编程中从侦听和接受的连接中提取IP

    在下面的代码中 我想在接受传入连接后提取已连接客户端的 IP 地址 之后我应该做什么accept 实现它吗 int sockfd newsockfd portno clilen portno 8090 clilen 0 pthread t
  • 使用 UrlHelper.Action 方法生成 url 时出现空引用异常

    由于某种原因 当某些机器人访问该网站时 会生成一个带有UrlHelper Action方法引发空异常System Web HttpServerVarsCollection Get 我已经做了一些调试 调用堆栈开始尝试从以下位置获取 HTTP
  • 无法使用 android 4.4 旋转模拟器[重复]

    这个问题在这里已经有答案了 我已经将我的sdk更新到最新版本 android 4 4 并启动了模拟器 但现在似乎无法使用CTRL F11旋转屏幕 屏幕发生变化但所有应用程序都没有改变 我不知道这是否是一个相关问题 但我可以看到 即使我创建了
  • 可编辑的组合框,绑定到不在列表中的值

    我有可编辑的组合框 其中首选项目并不总是位于下拉列表中 我希望能够在文本框中手动输入文本 该文本将传播到绑定到 SelectedValue 的字符串 现在 仅当输入的值位于 ComboBox 项中的值中时 绑定到 SelectedValue
  • NameError:名称“N_TOKENS”未定义

    我是 Python 新手 刚刚开始安装 Windows 版 PyCharm 从 Skype 下载了一些示例代码来测试他们的 SkypeKit API 但是 一旦我按下调试按钮 我就会得到 我安装了 Python 2 7 和 Django 1
  • 从 Chrome 开发工具扩展检查 WebSockets 帧

    我想创建一个 Chrome 开发者工具扩展 一个新面板 来分析我们自己网站上的 WebSockets 框架 据我所理解 http developer chrome com extensions devtools network html h
  • SQL Server 中具有多列的“In”子句

    我有一个根据提供的键从数据库检索数据的组件 不过 我希望我的 java 应用程序能够获取单个数据库命中中所有键的所有数据 以加快速度 当我只有一把钥匙时 我可以使用 in 子句 在处理多个键时 我可以在 oracle 中使用以下查询 SEL
  • 如何显示数组中与另一个数组的值相关的值,javascript

    我试图让该名称与与该名称相关的分数一起显示 因此 如果最高分是 98 我希望 Joels 的名字出现在显示屏上 此处显示名字 var names Ben Joel Judy Anne var scores 88 98 77 88 var a
  • 获取日期期间最畅销的 10 种产品

    我想返回用户指定日期内销量最高的 10 种产品 数量最多 我的数据库表 Orders OrderId OrderDate 订单 产品 ProductID OrderID Quantity Products ProductID Product