sql - Oracle/SQL-按时间按操作对项目进行分组

标签 sql group-by oracle9i

大家好,我有一个“小部件”表,该表具有以下各列:小部件,操作,时间戳记。我们要做的是在特定日期之间每天拉出所有被拒绝多次的小部件。所以这是一个示例表

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之间,有两个小部件在一天之内被多次拒绝

这将看到类型1和类型2一样每天被拒绝多次,因此计数为:2

要么

显示每个小部件及其被拒绝的日期以及多次被拒绝的日期。例..

widget      date            count
---------------------------------
type1       2011-05-10      3
type1       2011-05-11      2
type2       2011-05-12      2


这可能是首选输出...但是如何?

提前致谢!

最佳答案

这将给您输出:

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;


当然,您需要替换日期变量。

关于sql - Oracle/SQL-按时间按操作对项目进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067083/

相关文章:

c# - 检查 Excel 工作表中是否存在列

java - 从java类生成sql

php - SQL INNER Join 没有给出结果

MySQL分组查询优化

php - 在php和mysql中显示每个组的成员数

mysql - 选择从插入到

SQL - 特定分组依据

sql - PL/SQL - Oracle 9.1

sql - ORACLE 9i PLSQL 优化器导致常量变量出现一些性能问题

尝试连接到 Oracle 数据库时出现 java.sql.SQLException