SQL Server 根据日期分组、 根据时间段分组(每三个小时一组)
2024-09-01 03:27:04
一、链接查询
内连接(inner join)。左连接(left join),以左边为基准,全部查询右边没有匹配的值显示为空。右链接(right join),和左连接相反,以右边为基准左边表的字段为空。全链接(full outer join)左右全部连接没有对应值得字段为空。交叉链接(coress join)笛卡尔积
-- inner join 显示
select * from Users
inner join Wallets on Users.ID = Wallets.User_ID
where Money >
-- inner join 隐式
select * from Wallets,Users
where Wallets.User_ID = Users.ID and Money >
-- left join
select * from Users
left join Wallets on Users.ID = Wallets.User_ID
-- right join
select * from Wallets
right join Users on Users.ID = Wallets.User_ID
-- full outer join
select * from Users
full outer join Wallets on Users.ID = Wallets.User_ID
where User_ID is null or Users.ID is null
-- cross join
select * from Users
cross join Wallets where Users.ID =
二、from子查询(嵌套查询)
--查询钱包里金额大于30000
select * from Users where exists (select User_ID from Wallets where Money > 30000 and User_ID = Users.ID)
select * from Users where ID in (select User_ID from Wallets where Money > )
三、分组
1. 根据日期分组
根据convert 的第一个参数,设置结果的长度达到更具年月分组或年月日分组等
2017-09 长度 7 varchar(7)
2017-09-01 长度10 varchar(10)
-- 使用convert() 函数方式
select convert(varchar(),CreatTime,)日期,COUNT(*) 次数,sum(Money)总数 from Orders
group by convert(varchar(),CreatTime,)
-- 先查出对应的年月日等时间,再根据查询出的字段分组
select YEAR(CreatTime) 年,month(CreatTime) 月,COUNT(*) 次数,sum(Money)总数 from Orders
group by month(CreatTime),YEAR(CreatTime)
order by 年,月 asc
2. 根据划分时间段进行分组(每三个小时一组)
dataname:返回代表指定日期的指定日期部分的字符串。一个参数代表返回的格式,第二个参数为具体值dw:星期几,qq, q:季度,yy, yyyy:年,mm,m:月,dd、d:日,hh:小时,mi, n:分钟 ss、s:秒,ms:毫秒
select t.number 记录数,
CONVERT(varchar(),t.timeGroup * )+':00~'+ CONVERT(varchar(),t.timeGroup * 3 + )+':59' 时间段
from
(select datename(hh,CreateTime) /3 timeGroup,COUNT() number from ClassOptions
group by datename(hh,CreateTime) / ) t
最新文章
- ASP.NET或者 js方式实现文件夹多图片浏览的方式
- 解决CentOS无法解析域名的问题
- pascal闪电入门系列目录
- sharepoint 弹出窗口
- 在Ubuntu 14.04中安装最新版Eclipse
- NOSQL之旅---HBase
- 同步的数据过大,导致shareplex超时,并自动kill掉了同步会话
- the c programming language 2-3
- 知识备忘phpcms 简单解析一 数据表字段
- Unity3D基础学习 NGUI Example 7-Scroll View(Panel)制作固定包裹栏,点击传递参数显示物体
- 动画(Animation) 它 (闪烁、左右摇摆、跷跷板等功效)
- APACHE启动失败是SYSTEM对apache目录没权限导致
- 设置checkbox为只读(readOnly)
- 基于.NET CORE微服务框架 -谈谈Cache中间件和缓存降级
- DNS Tunnel隧道隐蔽通信实验 &;&; 尝试复现特征向量化思维方式检测
- delete *p可以替代delete[] p吗?
- MVC 多submit
- Go语言之高级篇beego框架之model设计构造查询
- coocs2d-html5在使用cocoseditor时调用设备的accelerometer来使用重力感应
- 学习笔记44—Linux下安装freesurfer
热门文章
- Qt中嵌入Directx11(有句柄就可以)
- SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction 解决方法
- WPF属性(二)附加属性
- Win8 Metro(C#)数字图像处理--2.41彩色图像密度分割算法
- VCL的通用属性,方法和事件 good
- Qt4.7.4下单独编译QtWebkit
- 腾讯移动Web整体解决方案Spirit
- 原生Js封装的产品图片360度展示
- Qt元类型(MetaType)注册入门(附一些官方文档的关键摘录)
- 使用Func<;T1, T2, TResult>; 委托返回匿名对象