【发布时间】:2013-02-20 13:42:50
【问题描述】:
我有一个包含许多记录的表的 oracle 10g 数据库。 表中包含接收某种订单的员工的数据。 大多数可用的列是employee、dt 和orderId(我附上了示例)。 我想构建 select 来选择在 any 4h 中有 6 个或更多订单的员工的记录。我使用了常规连接,各种功能,但我仍然没有做出可用的选择。 我无法为过去(4 小时)的每个记录搜索做出选择,并查看同一员工是否有 6 个订单。
感谢任何帮助或解决方案。
BR,
IJ
http://sqlfiddle.com/#!2/77418/1
选择的输出应该是:
乔 19.2.2013 13:28:09 36589589
乔 19.2.2013 13:50:59 36589593
马特 19.2.2013 13:57:02 36589594
乔 19.2.2013 14:19:46 36589598
本尼 19.2.2013 14:50:28 36589601
本尼 19.2.2013 14:54:58 36589602
本尼 19.2.2013 14:56:35 36589603
雷 19.2.2013 15:26:39 36589607
雷 19.2.2013 15:26:41 36589608
雷 19.2.2013 15:26:44 36589609
雷 19.2.2013 15:48:11 36589611
本尼 19.2.2013 16:48:52 36589614
本尼 19.2.2013 16:49:40 36589615
本尼 19.2.2013 16:50:38 36589616
约翰尼 19.2.2013 17:37:33 36589620
约翰尼 19.2.2013 17:51:41 36589621
乔 19.2.2013 18:16:55 36589625
约翰尼 19.2.2013 18:34:14 36589626
马特 19.2.2013 21:13:50 36589632
【问题讨论】:
-
“任意 4 小时”是什么意思?我猜不是最近 4 小时,但如果您提供示例数据会更好。
-
我已经准备好图片但无法上传。
-
@ypercube:我怀疑 OP 想回答“哪些员工在 2003-02-18 08:00 和 2003-02-18 12:00 之间至少有 6 个订单,或 在 2003-02-18 08:01 和 2003-02-18 12:01 之间,或 在 2003-02-18 08:02 和 2003-02-18 12:02 之间, ...”
-
我的声望为 8,需要 10 才能上传图片,抱歉,等我达到 10 我会上传示例。
-
是的,如果乔在 2013 年 2 月 18 日 9:02 收到了订单,我想检查他从 18.2.2013 5:02 到 18.2.2013 9:02 是否有 5 个或更多订单,包括这个在 9 点 02 分,即 6 点或更多。对不起,在例子中很清楚。
标签: sql function stored-procedures oracle10g