首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

sql分别用日期、月、年 分组 group by 分组,datepart函数,datediff函数 统计

(dd,’2013-06-08′) –1年中第多少天 select datepart(dy,’2013-06-08′) –季度 select datepart(qq,’2013-06-08′)...,按小时分组 -- 按小时产生连续 SELECT substring(convert(char(32),DATEADD(HH,number,CONCAT('2019-01-18',' ', '00...-07-01' and '2013-07-16' group by sv.number with rollup 查询当天数据 -- 今天所有数据 select * from trans_queue...(weekday, ‘2013-06-08’) 会输出 6 /* * 设置一周第一天为星期日 */ set datefirst 7 –设置一周第一天为星期日(美国一周第一天习惯为星期天...) select datepart(weekday, ‘2013-06-08’) 会输出 7 /* * 查询当前会话 datefirst 设置值 */ select @@datefirst

2.5K50
您找到你想要的搜索结果了吗?
是的
没有找到

这5个超级经典SQL都不会,回去等通知吧

简介:CSDN博客专家、信息技术智库公号作者✌  一、每门课程问题 用一条 SQL 语句查询 学生表每门课都大于 80 分学生姓名。... name     FROM xuesheng     WHERE score <=80); 二、topN 问题 案例:查询各科成绩前两名记录 代码实现 row_number() over( partition...计算登录日期减去第二步骤得到结果值,用户连续登陆情况下,每次相减结果都相同。 按照id和日期分组并求和,筛选大于等于7即为连续7天登陆用户。...转列可谓是经典中经典了,必须掌握了!...6变2,2列变3列 代码实现 SELECT SID, MAX(case CID when '01' then score else 0 end) '01', MAX(case CID when '

26820

Hive常用函数案例实操

分组统计,查出各部门中男女个数: 3. 转列: 4. 列转行 5. 综合练习 6. 查询顾客购买明细及月购买总额 7. 将每个顾客cost按照日期进行累加 8....查询每个顾客上次购买时间 10. lead(col,n, default_val):某一列往后第n行数据 11. ntile(n): 把数据按分为n组,返回组号 12....18. date_sub(current_date(),100) 返回当前日期前100天日期 19. datediff(date1,date2) 返回两个日期之间日期差 20....连续两天购物的人 NVL:给空字段赋值 查出各部门中男女个数: case when 分组统计 sum(case sex when '男' then 1 else 0 end) 转列: 列转行:...(),100) 返回当前日期前100天日期 datediff(date1,date2) 返回两个日期之间日期差 连续两天购物的人:

84150

ActiveReports 报表应用教程 (8)---交互式报表之动态过滤

报表菜单项中选择转换为连续页面布局(CPL)报表,将固定页面报表转换为连续页面报表。...4.2、设置数据集其他属性 常规-名称:OrderDetails 查询-查询: SELECT 订单.订单ID, 订单.客户ID, 订单.订购日期, 产品.产品名称,订单明细.数量, 订单明细.单价, 订单明细...and DateDiff("d",?,订购日期) > 0 and DateDiff("d",?...,订购日期) < 0 ORDER BY 订单.订单ID;  说明:在以上查询语句 Where 条件中使用了参数查询,参数使用是 ? 占位,? 出现顺序需要与数据集参数中定义参数顺序一致。...是 Access查询参数设置方式, SQL Server 中需要使用以 @ 开始字符串作为参数。

1.1K80

SQL总结大厂真题-连续登录超过N天用户(一)

数据已经按照用户日期去重,请查出连续登录超过4天用户ID 2.考点 row_number() 函数 、datediff()函数 、日期格式处理 对于连续登录问题处理逻辑,对于同一个用户,如果连续登录...,row_number排序和 登录日期与月初日期差是一个恒定值,如果存在非连续,则值不同。...详见下图 可以看到,连续时diff值相同,不连续时diff值就出现变化。这也就说明,只要统计diff值相同行数,就能计算出每次连续登录天数。...step3:计算date_diff和row_num差值 select user_id, login_date, datediff(from_unixtime(unix_timestamp...step4:统计连续登录大于等于3天用户 select user_id from ( select user_id,

18710

ActiveReports 报表应用教程 (12)---交互式报表之贯穿钻取

1、创建报表文件 在应用程序中创建一个名为 rptVacations.rdlx ActiveReports 报表文件,使用项目模板为 ActiveReports 页面报表,创建完成之后从 VS 报表菜单项中选择转换为连续页面布局...(CPL)报表,将固定页面报表转换为连续页面报表。...营业额 FROM 订单明细 INNERJOIN 订单 ON 订单明细.订单ID = 订单.订单ID WHERE DateDiff("yyyy",'2012-01-01',订单.订购日期...页面报表,创建完成之后从 VS 报表菜单项中选择转换为连续页面布局(CPL)报表,将固定页面报表转换为连续页面报表。...\Data\NWind_CHS_Access.rdsx 7、 添加数据集 在新建 NWind_CHS 数据源上鼠标右键并选择添加数据集菜单项 常规-名称:OrderDetails 参数-名称:Param

1.1K60

MySQL高阶-统计每周连续出现天数

还是昨天问题,统计每周内问题小区连续出现天数,MySQL可以实现吗?答案是肯定,就是过程很曲折。 数据库查询语言基本都是针对整列,不像excel是单元格粒度,要判断行与之间差异比较麻烦。...--+--------+--------+------------+ 13 rows in set (0.00 sec) 现在使用一种算法来判决每周持续出现,用week()获取日期所在周数,使用下图逻辑判断连续出现...首先获取当前日期与一个较早日期差值 计算表中大于等于当前日期行数 两个值求和,求和相等则为连续出现,否则为间隔出现 SQL 呼之欲出 mysql> select -> bc.cellid,...-> bc.cgi, -> DATEDIFF(bc.apper_time, '2019-05-01' ) as diff, -> ( -> select count(1...) -> from badCells bc2 -> where bc2.cgi = bc.cgi and DATEDIFF(bc2.apper_time, bc.apper_time

1.8K20

sql语句总结,大家可以收藏了面试一定有用!!!

当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复。两种情况下,派生表每一不是来自 TABLE1 就是来自 TABLE2。...当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复。 注:使用运算词几个查询结果必须是一致。...11、说明:使用外连接 A、left (outer) join: 左外连接(左连接):结果集几包括连接表匹配,也包括左连接表所有。...,也包括右连接表所有。...因为这样可以避免 top字段如果是逻辑索引查询结果后实际表中不一致(逻辑索引中数据有可能和数据表中不一致,而查询时如果处在索引则首先查询索引) 14、前10条记录 select top

93320

monthdiff oracle_timestampdiff

,第一个参数是(timestampExpression2-timestampExpression1)时间差表示单位,如SQL_TSI_SECOND是以秒为单位,返回两个查询参数时间差。...+—————————-… mysql> select datediff(now(),’1993-09-08′); +——————————+ | datediff(now(),’1993-09-08′)...展开 mysql两个日期计算天数计算有如下方式: 1、利用TO_DAYS函数 select to_days(now()) – to_days(‘19930908’) 2、利用DATEDIFF函数 select...datediff(now(),’19930908′) 参数1 – 参数2 等于间隔天数 3、利用TIMESTAMPDIFF函数 计算两日期时间之间相差天数,秒数,分钟数,周数,小时数,这里主要分享是通过...59 5 002 李四 2015-06-21 11:05:59 2015-06-21 13:12:59 6 002 李四 2015-06-24 13:05:59 2015-06-24 15:09:59 查询

1.4K30

SQL Server优化之SQL语句优化

SQL 解析顺序为: (1) FROM 子句 组装来自不同数据源数据 (2) WHERE 子句 基于指定条件对记录进行筛选 (3) GROUP BY 子句 将数据划分为多个分组 (4) 使用聚合函数进行计算...OUTER(join):如果指定了 OUTER JOIN保留表(preserved table)中未找到行将作为外部添加到vt2,生成t3,如果from包含两个以上表,则对上一个联结生成结果表和下一个表重复执行步骤和步骤直接结束...WHERE:对vt3应用 WHERE 筛选器只有使 where_condition 为true才被插入vt4 5....DISTINCT:将重复从vt8中去除产生vt9 10. ORDER BY:将vt9按order by子句中列列表排序生成一个游标vc10 11....TOP:从vc10开始处选择指定数量或比例生成vt11 并返回调用者 看到这里,那么用过Linq to SQL语法有点相似啊?

3.5K34

大数据面试SQL038 用户连续登录所有断点日期(二)

始终没有特别清晰思路,但是当看到群里小伙伴给出解法后,恍然大悟,还是在考察连续问题+数据生成。这个问题我们在039问题中,也是类似考察点,只不过展现形式不一样。...请查询出用户连续登录中出现断点所有日期 +----------+-------------+ | user_id | login_date | +----------+-------------+...维度 评分 题目难度 ⭐️⭐️⭐️⭐️ 题目清晰度 ⭐️⭐️⭐️⭐️ 业务常见度 ⭐️⭐️⭐️ 三、SQL 1.查询每个用户非连续登录后首次登录记录,以及与上次登录日期差,然后再减1。...0代表连续,-1代表为用户首次登录。...,login_date,lag(login_date,1,login_date) over(partition by user_id order by login_date) as lag_date,datediff

17110
领券