嗨,我有一个“小部件”表,其中包含以下列:小部件,动作,时间戳.我们想要做的是将特定日期之前每天被拒绝的所有小部件拉多于一次.所以这里是一个示例表
widget action timestamp_ ------------------------------------------- type1 reject 2011-05-10 08:00:00 type1 reject 2011-05-10 09:00:00 type1 reject 2011-05-10 09:30:00 type2 reject 2011-05-11 09:30:00 type3 reject 2011-05-11 09:30:00 type1 reject 2011-05-11 09:30:00 type1 reject 2011-05-11 09:30:00 type2 reject 2011-05-12 10:30:00 type2 reject 2011-05-12 12:30:00 type3 reject 2011-05-12 12:30:00
所以我希望看到这两种礼貌之一的结果….
在x和y之间,有两个窗口小部件在一天内被多次拒绝
这会看到type1在一天被拒绝了一次,因为type2,所以计数是:2
要么
显示每个窗口小部件及其被拒绝的日期不止一次以及多少次.例..
widget date count --------------------------------- type1 2011-05-10 3 type1 2011-05-11 2 type2 2011-05-12 2
这可能是首选输出…但是如何?
提前致谢!
这将给你的输出:
原文链接:https://www.f2er.com/oracle/204943.htmlSELECT Widget,to_char(timestamp_,'YYYY-MM-DD'),Count(Widget) FROM Widget WHERE timestamp_ BETWEEN to_date('YYYY-MM-DD HH24:MI:SS','%date1%') AND to_date('YYYY-MM-DD HH24:MI:SS','%date2%') AND action LIKE 'reject' GROUP BY Widget,'YYYY-MM-DD') HAVING Count(Widget) > 1;
当然,您将要替换日期变量.