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

每年的SELECT TOP记录

唐法
2023-03-14
问题内容

我想回顾一下我的sql技能,现在我想在northwinddb上运行一个简单的查询以向我显示每年的顶级客户,但是无论我使用什么,只要使用TOP函数,就只会显示1条记录分区,这是我的T-
SQL代码

SELECT DISTINCT TOP 1 C.CompanyName
, YEAR(O.OrderDate) AS Year
, SUM(Quantity) OVER(PARTITION BY C.CompanyName, YEAR(O.OrderDate)) AS Total
FROM Customers C JOIN Orders O
    ON C.CustomerID = O.CustomerID JOIN [Order Details] OD
    ON O.OrderID = OD.OrderID

问题答案:

您可以在SQL Server 2008中更紧凑地执行此操作,如下所示:

select top (1) with ties
  C.CompanyName,
  Year(O.OrderDate) as Yr,
  sum(OD.Quantity) as Total
from Orders as O
join Customers as C on C.CustomerID = O.CustomerID
join "Order Details" as OD on OD.OrderID = O.OrderID
group by C.CompanyName, Year(O.OrderDate)
order by 
  row_number() over (
    partition by Year(O.OrderDate)
    order by sum(OD.Quantity) desc
  );


 类似资料:
  • 问题内容: 我每年进行一次嵌套聚合,然后每年在Elasticsearch中进行每周一次嵌套聚合。years年有53周,但是ElasticSearch的结果给出的是year年的最后一周key =“ 1”而不是“ 53”。如何让ElasticSearch在上周返回53而不是1? 这是我的查询: 结果(删除的数据在中间): 2008年是a年,最后一个星期有“ key_as_string”:“ 1”。我希

  • 问题内容: 我正在使用Spring JPA存储库将Twitter推文保存在数据库中。鸣叫的日期在MySQL数据库中另存为Datetime。现在,我想删除所有超过一年的推文。我看到有功能,想到了类似的东西。我知道那不是正确的语法,但是我不知道该怎么做。这是我所拥有的: 编辑已解决: 仓库: 服务: 问题答案: 为此,您需要2个步骤。首先,您需要一个方法,该方法将要删除消息的日期作为参数,并且根本不需

  • 似乎不能处理一个数字的月份中的某一天: 在此示例中,正确解析日期,但引发异常。如果我使用零填充日期,例如“05/03/1969”,则两者都起作用。但是,如果每月的日期或每年的月份都是个位数,则将引发异常。 什么是格式来解析一个数字和两位数的月份和一年中的月份?

  • 2018年4月份 2018-04-25 userAgent相关:判断微信内置浏览器的UserAgent 2018-04-26 前端相关: 流程图制作工具:ProcessOn api方法的浏览器兼容性问题,可以在这个网站上看:https://caniuse.com/ CSS3的兼容性问题,不一定要使用-webkit-, -moz-, -o-, -ms-等私有前缀。可以使用 PostCSS。知乎 浏览

  • 我想要一个循环,检查当前的月,12个月在未来和4个月在过去。

  • oc等了两周,部门那边停止招聘实习生了,三个到hr面的,给一个hc 给到了offer。 NIO-蔚来二面(带回答的整体思路) 1.算法:二叉树的层序遍历 2.介绍博客,(很喜欢我的博客) 3.聊聊B+树 ​从叶子内数据的排列,到页内索引,到B+树索引,为什么不和redis一样用跳表,到B树,讲解了我的 4.说说索引,后面问聚簇索引和非聚簇索引 5 可以建多个聚簇索引吗? ​从聚簇索引的意义,由来,