【发布时间】:2013-03-01 09:32:31
【问题描述】:
我有一个关于已经解决的 Q (Oracle SQL: Counting in 4h?) 的后续问题。
如果数据样本中还有另一列,金额列,我想按照解决方案中的建议进行操作
select t.*,
from (select t.*, lag(dt, 6) over (partition by employeeId order by dt) as ord6dt
from t
) t
where dt - ord6dt < 4.0/24
,有一个额外的条件和金额列> 10?
所以查询应该只列出那些在 4 小时内有 6 个订单并且 sum(order_value)>10 的人。
【问题讨论】:
-
我编辑了你的标签。 MySQL 来自 oracle,是的,但您不使用它(我可以通过查询语法来判断)。请具体说明您使用的是哪个数据库。
-
您是否尝试将
SUM(Amount) OVER (partition by employeeid)添加到您的内联查询中? -
大声哭泣的 4 小时是什么? :)
-
是的,刚刚试了一下,不管是不是在4小时的时间段内,它都会汇总所有订单。
-
好的,抱歉,4h 意味着 4 小时对我来说很自然,我会记住这一点。
标签: sql function stored-procedures oracle11g