analytic-functions

    0熱度

    1回答

    有朋友問與下面的查詢服務(見其他說明圖像): 「我們需要生成一個基於銷售項目的數量銷售排名,按產品計算,換句話說,對於給定的產品,銷售數量最多的一年將排在第1位,下一個銷售數量的年份將排在第2位,依此類推「 我給他發了下面的SQL,不過他說所有排都回來了,排名爲1 Select product, year, num_of_items_sold RANK() OVER (PARTITION BY

    2熱度

    1回答

    說你有客戶的使用日期表如下: [CUSTOMER_TABLE] +----------+-----------+----------+ | customer | date | purchase | +----------+-----------+----------+ | 1 | 1/01/2016 | 12 | +----------+-----------+----------+

    1熱度

    1回答

    我使用的是Oracle 12.1.0.2.0 我想要當前組(分區)的平均值差異 - 前一組(分區)的平均值 我的代碼獲取當前組平均是 with rws as ( select rownum x, mod(rownum, 2) y from dual connect by level <= 10 ), avgs as ( select x, y, avg(x) over (part

    2熱度

    2回答

    我有一組簡單的表(ID)(GRP_ID)。 create table tst as select 1 grp_id, 1 id from dual union all select 1 grp_id, 1 id from dual union all select 1 grp_id, 2 id from dual union all select 2 grp_id, 1 id from d

    2熱度

    1回答

    我正在尋找智能Oracle SQL解決方案將數據分發到多個桶中。 x的順序很重要。我知道有很多算法,但我很確定必須有智能sql(分析函數)解決方案,例如NTILE(3)但我不明白。 x|quantity 1|7 2|4 3|9 4|2 5|10 6|3 8|7 9|7 10|4 11|9 12|2 13|10 16|3 17|7 結果應該是這個樣子: x_from|

    2熱度

    1回答

    這個查詢: SELECT min("x") as "From", max("x") as "To", sum("quantity") FROM ( SELECT t.*, ntile(4) over (order by "x") as group_no FROM table1 t)GROUP BY group_no ORDER

    1熱度

    3回答

    我需要將0和1的字符串轉換爲表示1的整數序列,類似於打印對話框中的頁面選擇序列。 例如'0011001110101' - >'3-4,7-9,11,13' 是否可以在單個SQL選擇(在Oracle 11g中)執行此操作? 我可以得到頁碼的個人列表下列要求: with data as ( select 'K1' KEY, '0011001110101' VAL from dual

    0熱度

    2回答

    我想通過使用以下過程來更新列,它使用LAG函數,因爲結果是通過將前一個值減去目前的價值,因爲它可以在下面的圖片中看到,但它不工作,因爲它填充我不期望的值的col3 .. 基本上我想要的是(使用Excel來說明問題): 而且我想這對錶中的每一個不同的名稱。 create or replace procedure proc1 as cursor cur is SELECT (col

    1熱度

    3回答

    我需要找到service.service_id,service.name和service.date_begin每一行中bonus表最接近service.date_begin和service.date_begin <= bonus.date_begin。如果有多於一個service與這樣的date_begin,返回任何service(例如與最大service.service_id或service.r

    1熱度

    2回答

    我很難得到最早日期和最新日期之間的天數,我遇到的問題是如果我使用MIN或MAX我不得不按專欄分組,這是一個問題,因爲我沒有要分組的專欄。 如果我的數據是這樣的: 2017/01/01 EXAMPLE 2017/01/01 EXAMPLE 2017/01/01 EXAMPLE 2017/01/05 EXAMPLE 2017/01/06 EXAMPLE 2017/01/0