繁体   English   中英

Oracle sql在分区上计数不同的值吗?

[英]Oracle sql Count distinct value over partition by?

抱歉,我很困惑,无法正常使用。

我想显示每个项目相同值的最大数量的值,

我的意思是:-我有70个货盘,每个货盘都有一个唯一的tag_id每个tag_id都有一个数量(qty_on_hand),大多数情况下,这个qty_on_hand对于很多货盘都是相同的70个货盘我有34个标签,其qty_on_hand为60 6个标签,其qty_on_hand为88 30个标签,其qty_on_hand为80

我想显示商品编号和标签的最大数量,上面的例子是商品A 34

但是我需要对仓库中的数千个物品执行此操作。 我可以从库存i中简单选择i.qty_on_hand,count(qty_on_hand),其中i.zone_1 ='BULKSTORE'和sku_id ='1961834100'由qty_on_hand分组,但是它是用于1个项目(sku_id)的,然后仍然显示我散货商店中有3种不同数量的现货,我只希望每个sku的数量最高。

我已经看过按等划分的不同分区,但是无法使其正常工作,因此任何可行的示例都很好。

希望我不会对您感到困惑。 预先感谢院长

样本数据,所以我们在谈论同一件事,将有所帮助。

假设“项目”由sku_id标识,并且每个货盘都有一个唯一的tag_id ,它有一个sku_id和一个qty (数量)。 该表称为t

然后像

select sku_id, qty
from   ( 
         select   sku_id, qty,
                  dense_rank() over (partition by sku_id order by count(*) desc) as drk
         from     t
         group by sku_id, qty
       )
where  drk = 1
;

会给你你所需要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM