--1、distinct 去重关键字 【用法:查询字段前面】Push_EmailLog :记录表 select distinct UserName from Push_EmailLog --2、分组排序 ROW_NUMBER()OVER(PARTITION BY 字段1 ORDER BY 字段2 desc) 【用法:按UserName 字段分组 ,按AddTIme 字段排序】 取分组排序后的前5条数据 select * from ( select ROW_NUMBER()OVER(PARTITION BY UserName ORDER BY AddTIme desc) NewIndex from Push_EmailLog )s where s.NewIndex<6 --3、case when 语句 select (case when num=0 then 100 else 50 end ) jznum --4、截取时间字符 DATEADD(day,-1,GETDATE()) --昨天【当前时间减一天】 MIN 分钟 HOUR 小时 DAY 天 MONTH 月 YEAR 年 CONVERT(varchar(10),GETDATE(), 120) --varchar(10) 年月日 varchar(7) 年月 varchar(4) 年 --5、算法 count(1) 行数 sum(字段【字符类型】) 求和 isnull(字段,'')如果为空 转为'' ''可变更其他值如:0等
--6、时间差计算
SELECT DATEDIFF( Second, '2021-8-25 12:15:12', '2021-9-1 7:18:20') --返回相差秒数
SELECT DATEDIFF( Minute, '2021-8-25 12:15:12', '2021-9-1 7:18:20') --返回相差分钟数
SELECT DATEDIFF( Day, '2021-8-25 12:15:12','2021-9-1 7:18:20')--返回相差的天数
SELECT DATEDIFF( Hour, '2021-8-25 12:15:12', '2021-9-1 7:18:20')--返回相差的小时