window-functions相关内容

具有动态参数的Oracle Lag函数

我有一个具体问题.我有一个包含无效值的表. 我需要用大于0的先前值替换无效值(此处为0). 困难在于,使用Update或insert(游标和update可以做到)对我来说是不合适的.唯一的办法是使用Select语句. 当我使用lag(col1, 1)-带有when大小写的函数时,我只会得到具有正确值的一列. select col1, col2 realcol2, (case ..
发布时间:2020-05-22 01:13:08 数据库

Oracle中的OVER子句

Oracle中OVER子句的含义是什么? 解决方案 OVER子句指定分区,排序和排序.解析功能在哪个窗口上运行. 例如,这将计算移动平均值: AVG(amt) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) date amt avg_amt ===== ==== ======= 1-Jan ..
发布时间:2020-05-21 22:47:59 数据库

Oracle“分区依据"关键词

有人可以解释partition by关键字的作用,并给出一个简单的示例,以及为什么要使用它吗?我有一个别人编写的SQL查询,我试图弄清楚它的作用. 按以下方式进行分区的示例: SELECT empno, deptno, COUNT(*) OVER (PARTITION BY deptno) DEPT_COUNT FROM emp 我在网上看到的示例似乎过于深入. 解决方案 ..
发布时间:2020-05-21 22:47:39 数据库

MySQL查询中的窗口函数

是否可以在SELECT查询本身中动态使用MySQL查询中的窗口函数? (我知道事实是在PostgreSQL中是可能的.) 例如,这是PostgreSQL中的等效查询: SELECT c_server_ip, c_client_ip, sum(a_num_bytes_sent) OVER (PARTITION BY c_server_ip) FROM network_table; ..
发布时间:2020-05-15 05:15:46 数据库

MySql对over子句使用正确的语法

使over子句在mysql中工作的正确语法是什么? 我想查看每个用户发送的短信总数,而不用group by子句将其分组. SELECT username, count(sentSmsId) OVER (userId) FROM sentSmsTable, userTable WHERE userId = sentUserId; 解决方 ..
发布时间:2020-05-14 20:54:31 数据库

在MySQL中通过分区排名()

我完全无法在mysql中从rank()over(按x分区,按y desc排序)创建新列"LoginRank". 在sql server中,我将编写以下查询,以创建"Loginrank"列,该列按"login"分组并按"id"排序. select ds.id, ds.login, rank() over(partition by ds.login orde ..
发布时间:2020-05-14 20:15:59 数据库

Redshift SQL:添加和重置考虑了日期和组的计数器

假设我有一张桌子.我希望有一个计数器来计算客户(有很多)在细分A中的次数.如果客户在两个季度之间跳到另一个细分,则当客户跳回到细分时计数器将重置.答:我确信有很多方法可以做到这一点,但是我只是想不通.请帮助.谢谢! Quarter Segment Customer *Counter* Q1 2018 A A1 1 Q2 2018 ..
发布时间:2020-04-26 15:04:51 其他开发

从前一个空值开始获取第一个非空值的滞后时间

下面是我要在Redshift数据库中尝试实现的示例. 我有一个变量current_value,我想创建一个新列value_desired,即: 如果上一行为空,则与current_value相同 等于上一个非空值,如果前一行为非空 听起来很容易,但是我还没有找到一种方法. row_numb current_value value_desired 1 2 3 ..
发布时间:2020-04-26 15:02:49 其他开发