dsc*_*scl 15 sql group-by oracle9i
大家好我有一个'widget'表,其中包含以下列:widget,action,timestamp_.我们想要做的是在特定日期之间拉出每天被拒绝多次的所有小部件.所以这是一个示例表
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
Run Code Online (Sandbox Code Playgroud)
所以我期待以这两种方式之一看到结果....
在日期x和y之间,有两个小部件在一天内被多次拒绝
这将看到type1在一天内被拒绝多次,因为type2因此计数为:2
要么
显示每个小部件及其被拒绝的日期多次以及多少次.例..
widget date count
---------------------------------
type1 2011-05-10 3
type1 2011-05-11 2
type2 2011-05-12 2
Run Code Online (Sandbox Code Playgroud)
这可能是首选的输出......但是如何?
提前致谢!
MPe*_*ier 17
这会给你的输出:
SELECT 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, to_char(timestamp_,'YYYY-MM-DD')
HAVING Count(Widget) > 1;
Run Code Online (Sandbox Code Playgroud)
当然,您需要替换日期变量.
归档时间: |
|
查看次数: |
24877 次 |
最近记录: |