如何使用等级/加入以及一起使用

贾廷·古普塔(Jatin Gupta)

我在代码中使用了多个内部联接,并提供了等级,但是现在我想选择一个特定等级。那么如何在where语句中使用等级?

这是我的代码,但现在请帮助我进一步进行操作:

select [YEAR],
       [IDManufacturer],
       sum([TotalPrice]), 
       rank() over (order by sum(totalprice) desc) as sales_rank
       from [dbo].[DIM_DATE] 
       join [dbo].[FACT_TRANSACTIONS] 
       on [dbo].[FACT_TRANSACTIONS].Date = [dbo].[DIM_DATE].DATE
       join [dbo].[DIM_MODEL] 
       on [dbo].[DIM_MODEL].IDModel=[dbo].[FACT_TRANSACTIONS].IDModel
       where [YEAR] in (2009,2010) 
       group by IDManufacturer,[year]
       order by sum([TotalPrice]) desc

现在我只选择3级和4级。该怎么做?

谢卡·科拉

您可以选择sub-queryCTE,我建议尝试2种方法,然后查看性能更好的执行计划选择:

子查询

SELECT * FROM 
(select [YEAR],
       [IDManufacturer],
       sum([TotalPrice]) TotalPrice, 
       rank() over (order by sum(totalprice) desc) as sales_rank
from [dbo].[DIM_DATE] 
       join [dbo].[FACT_TRANSACTIONS] 
       on [dbo].[FACT_TRANSACTIONS].Date = [dbo].[DIM_DATE].DATE
       join [dbo].[DIM_MODEL] 
       on [dbo].[DIM_MODEL].IDModel=[dbo].[FACT_TRANSACTIONS].IDModel
where [YEAR] in (2009,2010) 
       group by IDManufacturer,[year]
) as SQ
Where sales_rank = 3 or sales_rank = 4
go 

公用表表达式

; with CTE as

(select [YEAR],
       [IDManufacturer],
       sum([TotalPrice]) TotalPrice, 
       rank() over (order by sum(totalprice) desc) as sales_rank
from [dbo].[DIM_DATE] 
       join [dbo].[FACT_TRANSACTIONS] 
       on [dbo].[FACT_TRANSACTIONS].Date = [dbo].[DIM_DATE].DATE
       join [dbo].[DIM_MODEL] 
       on [dbo].[DIM_MODEL].IDModel=[dbo].[FACT_TRANSACTIONS].IDModel
where [YEAR] in (2009,2010) 
       group by IDManufacturer,[year]
)

SELECT * FROM CTE WHERE sales_rank = 3 or sales_rank = 4

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

什么是模拟以及它如何与PrincipalContext一起使用

什么是curl以及如何与nodejs一起使用?

使用位置并一起加入

Tensorflow的TripletSemiHardLoss和TripletHardLoss如何使用,以及如何与暹罗网络一起使用?

我如何使用联接以及在哪里一起使用-Laravel?

加入时与增量一起使用的索引 RN

将带过滤器的地图与流一起使用时如何加入

如何理解R,以及它如何与Google的探戈项目一起使用

将useState与[]和不与之一起使用,以及与{}一起使用时的区别

如何使cypress与github行动以及本地的aurelia一起使用?

在Django中获取相关对象以及如何将Prefetch与相关模型一起使用

List Comprehensions 以及如何将其与 Pandas 一起使用

如何将Spring ClassPathResource:与classpath:或classpath *:一起使用,以及是否以/开头?

将redux-saga与setInterval一起使用-如何以及何时产生

代码拆分如何与导入/导出以及babel和webpack一起使用?

在网络上解释Ethercalc以及如何与Node js一起使用

反应 嵌套组件的render方法的顺序以及它如何与Redux一起使用

硒预期条件返回什么值?以及如何将其与IF语句一起使用?

如何使numpy.exp与数组以及标量一起使用?

.pack()和.place()之间的区别以及如何一起使用?

什么是 MOJO 编解码器以及它如何与 ffmpeg 一起使用

一起使用IF AND OR。

如何与默认包装一起使用?

如何与Generator一起使用Promise?

如何使kotlintest与Spring一起使用?

如何与种类一起使用NodePort?

如何与gradle一起使用JMH?

如何使CreateUsingInMemory()与MassTransit一起使用?

如何使@WebMvcTest与OAuth一起使用?