簡體   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