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