![](/img/trans.png)
[英]count(distinct) over (partition by… doesn't work in 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.