sql如何按周一、周二。。。周日 分组查询

sql如何按周一、周二。。。周日 分组查询,第1张

select sum(cost),w1 from

(select cost,datepart(w,date1) as w1 from tb1 where datediff(day,'2015-6-1',date1)>=0

and datediff(day,date1,'2015-6-30')>=0) as a1

group by w1

SELECT  from tb_drsheet where datediff(week,datEdt-1,getdate())=0

试试这个   oracle 的话修改相应的函数 

如果数据库是SQL Server,可以这样做: 找到输入日期的所在的周一,然后将数据范围限制在这个周一到下个周一之间(包括此周一,不包括下个周一)。所以,关键就在计算周一是哪一天(SQL Server中一周第几天受@@datefirst影响,默认值为7,即周日为一周第一天,但是这里需要周一为一周开始)。

declare @dateValue datetime, @startDay datetime

set @dateValue = '2014-11-11' -- 赋需要查询的日期值,不包含时分秒

set @startDay = dateadd(d, CASE WHEN datepart(dw, @dateValue) + @@DATEFIRST > 8 THEN 8 - @@datefirst ELSE 1 - @@datefirst END, dateadd(d, - datepart(dw, @dateValue) + 1, @dateValue))

select

from data_table

where date_field >= @startDay and date_field < dateadd(d, 7, @startDay) --将数据限制在从周一开始的7天内

order by date_field -- 按日期升序排列

如果是其他数据库,则可以使用类似方法实现。

以上就是关于sql如何按周一、周二。。。周日 分组查询全部的内容,包括:sql如何按周一、周二。。。周日 分组查询、sql查询本周内数据,周一至周天,表:tb_drsheet 时间字段:datEdt、sql server 怎么查看最近一周的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9868108.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存