![](/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.