加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle / SQL – 按日期随着时间的推移分组项目

发布时间:2020-12-12 15:13:18 所属栏目:百科 来源:网络整理
导读:嗨,我有一个“小部件”表,其中包含以下列:小部件,动作,时间戳.我们想要做的是将特定日期之前每天被拒绝的所有小部件拉多于一次.所以这里是一个示例表 widget action timestamp_-------------------------------------------type1 reject 2011-05-10 08:00:0
嗨,我有一个“小部件”表,其中包含以下列:小部件,动作,时间戳.我们想要做的是将特定日期之前每天被拒绝的所有小部件拉多于一次.所以这里是一个示例表
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

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

提前致谢!

这将给你的输出:
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,'YYYY-MM-DD')
HAVING Count(Widget) > 1;

当然,您将要替换日期变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读