首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SUM子句中使用滞后或其他函数

在SUM子句中使用滞后或其他函数
EN

Stack Overflow用户
提问于 2014-01-09 02:35:21
回答 1查看 7.5K关注 0票数 2

我正在寻找关于Oracle SQL查询的一些指导,我一直在苦苦挣扎。

我有一张数据表,里面有时间邮票和服务台票号.

每次技术人员更改票证或记录便条时,相应的时间戳将与票证编号一起登录到数据库中。我想要完成的是在每个系列中计算出第一次出现的票号,我不能使用不同的,因为如果技术人员在当天晚些时候再次使用该票,它将不会再次计数该票。请参考附图。

http://s13.postimg.org/i5gx4l4nb/sample.jpg

使用延迟函数,我可以在行级别标记票,但我不能将它添加到SUM子句中以完成我的最终目标。

代码语言:javascript
复制
CASE WHEN LAG(IPCS_AUDIT_HISTORY.ENTITYID,1) over (ORDER BY IPCS_AUDIT_HISTORY.HISTORYDATE)=IPCS_AUDIT_HISTORY.ENTITYID THEN 0 ELSE 1 END

你对这件事的方向有什么想法或想法?

代码语言:javascript
复制
SELECT
  UPPER(IPCS_PLANNER.PLANNERSURNAME || ', ' || IPCS_PLANNER.PLANNERFIRSTNAME) AS FULL_NAME,
  COUNT(DISTINCT IPCS_AUDIT_HISTORY.ENTITYID) AS TICKETS_COUNT,
  SUM(CASE WHEN LAG(IPCS_AUDIT_HISTORY.ENTITYID,1) over (ORDER BY IPCS_AUDIT_HISTORY.HISTORYDATE)=IPCS_AUDIT_HISTORY.ENTITYID THEN 0 ELSE 1 END) AS TOUCH_COUNT
FROM 
  IPCS_AUDIT_HISTORY,
  IPCS_PLANNER
WHERE
  IPCS_AUDIT_HISTORY.PLANNERID=IPCS_PLANNER.PLANNERID and
  TRUNC(IPCS_AUDIT_HISTORY.HISTORYDATE, 'IW')='30-DEC-13'
GROUP BY
  UPPER(IPCS_PLANNER.PLANNERSURNAME || ', ' || IPCS_PLANNER.PLANNERFIRSTNAME)
EN

回答 1

Stack Overflow用户

发布于 2014-01-09 03:02:45

我可能误解了你的问题,但我相信你只需要在你的SUM()中添加SUM()

代码语言:javascript
复制
SUM(ColName) OVER(ORDER BY Col2 ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21010661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档