SQL计算一年内有多少天是星期一、二、三、四、五、六、日

、3、7、14、30、90留存计算SQL命令(实测有效版) 以前找过多个不同版本的留存SQL命令,大多无法让人满意,现提供个真正实用的版本 说明: role_login_back:表名字 event_time:登录期时间,例如:2019-12-06 10:02:08 device_id:设备ID 数据库表role_login_back的字段: /*计算新增登录设备的次、3、7、14、30、90留存率*/ SELECT log_day... 阅读详情

SqlServer

declare @a varchar (20)
select @a='2021'
if object_id(N'tempdb..#t',N'U') is not null
drop table #t
create table #t (rq datetime)
declare @b datetime
select @b=(select DATEADD (year, DATEDIFF(year,0,@a),0))
while @b<(select DATEADD(year, DATEDIFF (year,0 ,@a),365))
begin
insert into #t values ( @b)
select @b= (select DATEADD (day ,1,@b) )
end
select
sum (case when datename (weekday,rq)='星期日' then 1 else 0 end) as 星期日天数,
sum (case when datename (weekday,rq)='星期一' then 1 else 0 end) as 星期一天数,
sum (case when datename (weekday,rq)='星期二' then 1 else 0 end) as 星期二天数,
sum (case when datename (weekday,rq)='星期三' then 1 else 0 end) as 星期三天数,
sum (case when datename (weekday,rq)='星期四' then 1 else 0 end) as 星期四天数,
sum (case when datename (weekday,rq)='星期五' then 1 else 0 end) as 星期五天数,
sum (case when datename (weekday,rq)='星期六' then 1 else 0 end) as 星期六天数
from #t

 

mysql


set @year_s='2020-01-01';
select
sum(case when ttl.week_num=l then l else 0 end) '周日天数',
sum(case when ttl.week_num=2 then l else 0 end) '周一天数',
sum(case when ttl.week_num=3 then l else 0 end) '周二天数',
sum (case when ttl.week_num=4 then l else 0 end)'周三天数',
sum (case when ttl.week_num=5 then l else 0 end)'周四天数',
sum (case when ttl.week_num=6 then 1 else o end)'周五天数',
sum (case when ttl.week_num=7 then l else 0 end)'周六天数'
from
(
select
date_add (@year_s, interval tl.help_topic_id day) date_s,
dayofweek(date_add(@year_s,interval tl.help_topic_id day)) week
from
mysql.help_topic tl
where
tl.help_topic_id<=366
)ttl
where date_s<date_add(@year_s,interval l year);

字节跳动SQL面试题:如何用SQL计算、3、7留存率? 留存率计算的核心是。 阅读详情

相关推荐

SQL小技巧之如何获取的下星期一

已知某个具体期,想要知道离它最近的下星期一,用SQL怎么写?

m0_54493044的博客 893

sql需求处理篇-统计指定某年中有多少个周至周

需求描述 统计某年中周至周分别有多少 with date_list as( select date_add("2020-01-01", a.pos) as dates from (select posexplode(split(repeat("m", datediff("2020-12-31", "2020-01-01")), "m"))) a ) select dates from date_list ; ---- 2020-01-01 2020-01-02 2020-0

programmer_trip的博客 625

[MSSQL]根据年得到所有星期

go --创建函数 create function GetWeekDays(@year int) returns @t table (星期varchar(20)) as begin insert @t select substring(convert(varchar,dateadd(day,x,col),120),1,10) from ( select cast(cast(@y

德仔 1381

SQL 獲取年的每.每週,某個星期的數據

SELECT   TO_CHAR (wwm, 'WW') the_week,                    TO_CHAR (wwm, 'D') the_daynum,                    TO_CHAR (wwm, 'Day') the_day,                    wwm the_date,                    TO_CHA

anrry2558的专栏 859

SQL星期数问题

MySQL技术内幕 SQL编程 48页 其中讨论到些时间期的问题,非常有意思 创建2015年1月的期数据. create table test select str_to_date('2014-12-27','...

coolmsn8786的博客 480

Sql计算年中周内各期的次数

问题计算年中周内各期(星期星期一 ……星期)的次数。解决方案要计算年中周内各期分别有多少个,必须:1.    生成年内的所有期。2.    设置期格式,得到每个期对应为星期几。3.    计数周内各期分别有多少个。DB2 使用递归的WITH子句,以避免对至少包含366行的表进行SELECT。使用函数DAYNAME,确定每个期为星期几,然后计

gaotianle的专栏 4264

SQL 编程你也行】SQL Server中以星期一为每周第 计算周数

SQLServer中以星期一为每周第 计算周数,但是在网上搜了,看了些,比如如下的文章: 把星期一作为每个星期的开始在年中求取周数 写的都挺复杂,堆的sql代码,但是实际运行了下,都是不对的。。。 比如下面是摘自网上的代码: DECLARE @DATE DATETIME = '2012-01-29' DECLARE @FIRST_DATE_OF_YEAR DATE...

weixin_30321709的博客 1052

oracle 求多少,SQL 计算年有多少

SQL 计算年有多少计算当前年份有多少SQL 计算年有多少 问题描述计算当前年份有多少SQL 计算年有多少 解决方案计算当前年份有多少,等同于计算年的第和当前年份的第之间的差值(以为单位)。对于下面的所有解决方案,求解步骤都如下所示。(1) 找到当前年份的第;(2) 在上述结果的基础上加上 1 年(以得到下年的第);(3) 用第 2 步得到的结果减去...

weixin_39588445的博客 3206

SQL查询年内的记录

select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0   //查询当期在周年的数据  select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0   //查询当的所有数据  SELECT * FROM A where datediff(d,...

准备翻身的咸鱼 3875

SQL计算工作

本文摘录了两段SQL的小技巧,来解决工作中的些常用到的问题。主要是为了记录下第条,这条SQL是用来计算两个期中的工作的方法,从ITPUT那边看来的,很实用的SQL,而且用的算法很好,值得学习。当然只能剔除掉周,别的法定节假肯定就不行了。另个是写的如何打印历,比较白痴的SQL,呵呵,顺手摘录下。 1、用SQL直接取工作: with

7872

SQL Server各种计算方法

通常,你需要获得当前期和计算些其他的期,例如,你的程序可能需要判断个月的第或者最后。你们大部分人大概都知道怎样把期进行分割(年、月、等),然后仅仅用分割出来的年、月、等放在几个函数中计算出自己所需要的期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的些不同期。   在使用本文中的例子之前,你必须注意以下的问题。大部

卢弋 的个人技术专栏 -- 总结使人进步 2064

SQL 常用的计算时间的方法

通常,你需要获得当前期和计算些其他的期,例如,你的程序可能需要判断个月的第或者最后。你们大部分人大概都知道怎样把期进行分割(年、月、等),然后仅仅用分割出来的年、月、等放在几个函数中计算出自己所需要的期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的些不同期。 在使用本文中的例子...

weixin_30781107的博客 2804

Oralce- SQL历格式,查询输出-制作

SQL制作历,按照历格式输出。

jiamenghui008的博客 536

通过SQL得到某年内每周的开始期和结束

示例效果为: 得到某年内每周的开始期和结束期 每周以周为第 周以至少还有为计 如 2004/01/01 是已经周 那么2004年的第周从2004/01/04开始 2007/12/31 是周 那么2007年的最后周只到2007/12/19开始 那么2008年的第周从2007/12/30开始 相关代码如下: -------------- 1.tWeek表 CREATE TABLE [tWeek] ( [tSeqID] [int] IDENTITY (1, 1) NOT

tearsmo的专栏 4702

SQL如何计算指定期每月的周数

收到个需求,要根据期就算它的每月的周数,按自然周(周从周开始)计算

weixin_46156257的博客 5974

SQL Server 判断时间是年的第几周、星期几

1.计算第几周 selectdatepart(wk,'2020-12-31') 第几周 2.计算星期几 select case datepart(dw,getdate()) when 1 then '星期 ' when 2 then '星期一 ' when 3 then '星期 ' when 4 then '星期 ' when 5 then '星期 ' when 6 then '星期 ' .

猪猪侠 1万+

SQL Server中以星期一为每周第 计算周数

SQL Server中以星期一为每周第 计算周数,但是在网上搜了,看了些,写的都挺复杂,堆的sql代码,但是实际运行了下,都是不对的。。。 比如下面是摘自网上的代码: DECLARE @DATE DAT...

ciyongyuan4432的博客 947

SQL期集合-周、月、季度、年等计算以及自定义函数

SQL  --本周第  SELECT DATEADD(Day,1-(DATEPART(Weekday,getdate())+@@DATEFIRST-1)%7,getdate())  --or  select dateadd(wk, datediff(wk,0,getdate(

Creek.L 3688
上一篇: Ubuntu18.04 odoo安装wkhtmltopdf报错: wkhtmltox : 依赖: libpng12-0 但无法安装它+odoo13虚拟环境问题
下一篇: 简单易学的git提交代码到gitee远程仓库的教程
橙先森丶
博客等级 码龄10年 23粉丝 15原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值