当前位置: 首页 > 面试题库 >

SQL MAX(DATE)订单号

林鸿飞
2023-03-14
问题内容

我有以下查询:

SELECT o.ClientId, o.MAX(Date), o.OrderNumber
FROM dbo.tblOrders
GROUP BY o.ClientId, o.OrderNumber

这仍然为我提供所有订单号,我将如何只获得与MAX日期对应的订单号。

我要完成的工作是获取每个客户的最大订单日期并显示订单号。

谢谢


问题答案:
SELECT t.ClientId, t.MaxDate, o.OrderNumber
    FROM (SELECT ClientId, MAX(Date) as MaxDate
              FROM dbo.tblOrders
              GROUP BY ClientId) t
        INNER JOIN dbo.tblOrders o
            ON t.ClientId = o.ClientId
                AND t.MaxDate = o.Date

如果您使用的是支持窗口功能的RDBMS(例如SQL Server 2005+),也可以这样执行:

SELECT t.ClientId, t.OrderNumber, t.Date
    FROM (SELECT ClientId, OrderNumber, Date, 
                 ROW_NUMBER() OVER(PARTITION BY ClientId ORDER BY Date DESC) as RowNum
              FROM dbo.tblOrders
         ) t
    WHERE t.RowNum = 1


 类似资料:
  • 统一下单 没错,什么 H5 支付,公众号支付,扫码支付,支付中签约,全部都是用这个接口下单。 {info} 参数 appid, mch_id, nonce_str, sign, sign_type 可不用传入 服务商模式下, 需使用 sub_openid, 并传入sub_mch_id 和sub_appid $result = $app->order->unify([ 'body' => '

  • 作用 接入方或者费控平台拉取企业支付订单或个人支付转个人垫付订单,做汇总统计之类 依赖 暂无依赖 注意 所有接口调用时需要严格遵守请求方式(GET/POST) 使用接口前需要仔细阅读每个接口的注意事项 接口报错时先阅读通用错误解决方案和当前接口文档下的接口错误解决方案

  • 3.1 下订单 3.1.1 描述 通过调用该接口为指定电话号码充值指定流量 3.1.2 请求地址 地址:https://api.bokecs.com/recharge/createOrder 3.1.3 请求方式 POST 3.1.4 请求参数 1) 请求入参 { "mobile": "18514428123", "flow":"3000", "range":"1" }

  • 4.1订单 4.1.1消费 【场景介绍】 消费支付,需要调用此接口,此接口为聚合模式,比如集成账户余额、账户绑卡、银行卡、微信支付等,具体支持情况需要双方业务确定,商户根据需要可以展示自己的收银台,也可以使用钱麦的收银台。一笔订单支付失败时允许多次进行重试。 【页面展示】 【调用流程】 【重要说明】关于1.1钱麦返回支付URL,此URL可支持自适应浏览器;即此URL在PC端浏览器打开,则展示PC收

  • mysql会员订阅数据表的设计应该如何设计?产品有订阅商品和非订阅的,每次都只能购买一个。 订阅有1个月 3个月的 每次到期自动扣费。如果在一个月类购买了几个订阅商品 则扣费按照最新的一个 然后延长到期时间。其实是不是每次订阅都不需要生成新订单的 翻阅了其他资料都找不到很好的设计

  • 我正在TCP之上编写一个网络层,在UnitTest阶段遇到了一些麻烦。 下面是我正在做的事情(我的库由多个类组成,但我只向您展示导致我的问题的本机指令,以限制文章的大小): 首先,如果我想更早地从同一endpoint连接到同一端口上的服务器,我必须首先处置服务器: 如果你这样运行我的测试,它第一次就会成功运行。第二次,它将在两个测试中对方法抛出一个异常,认为端口已经在使用中。 我发现的避免此异常(