首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >周六和周日行数之和

周六和周日行数之和
EN

Stack Overflow用户
提问于 2014-11-05 21:25:24
回答 2查看 129关注 0票数 2

我正试着在星期六或星期天这样的一天里从我的桌子上得到行数。

下面的代码不工作。

知道如何做到这一点吗?

代码语言:javascript
复制
SELECT next_day(sysdate-8, 'SUN') from dual;

NEXT_DAY(SYSDATE-8,)
-------------------
2014/11/02 21:22:30

我的尝试:

代码语言:javascript
复制
select sum(QTY),GROUP from table where next_day(order_date-8, 'SUN')  group by GROUP;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-05 21:33:20

要只过滤星期日/星期六,您可能需要TO_CHAR()

代码语言:javascript
复制
select sum(QTY),GROUP
from table
where TO_CHAR(order_date,'DY', 'NLS_DATE_LANGUAGE=AMERICAN') in ('SUN','SAT')
group by GROUP;
票数 3
EN

Stack Overflow用户

发布于 2014-11-06 04:22:19

我认为您可以使用NEXT_DAY()函数如下:

代码语言:javascript
复制
SELECT SUM(qty), group
  FROM table
 WHERE order_date = NEXT_DAY(order_date - 1, 'SAT')
    OR order_date = NEXT_DAY(order_date - 1, 'SUN')
 GROUP BY group

如果order_date列上有索引,甚至可以避免全表扫描。我只是在一个类似的表上试了一下,使用上面的TO_CHAR()方法我得到了一个完整的表扫描,而在这里使用这个方法,我得到了日期列上的索引的完整扫描。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26767433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档