一、链接查询

  内连接(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

SQL Server 根据日期分组、 根据时间段分组(每三个小时一组)的更多相关文章

  1. 【MSSQL】SQL Server的日期和时间类型

    参考:SQL Server的日期和时间类型 SQL Server使用 Date 表示日期,time表示时间,使用datetime和datetime2表示日期和时间. 1.秒的精度 秒的精度是指TSQL ...

  2. Sql Server中日期时间格式化为字符串输出

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  3. SQL Server 内存中OLTP内部机制概述(三)

    ----------------------------我是分割线------------------------------- 本文翻译自微软白皮书<SQL Server In-Memory ...

  4. 基于Sql Server 2008的分布式数据库的实践(三)

    原文 基于Sql Server 2008的分布式数据库的实践(三) 配置PHP 1.打开PHP配置文件,找到extension=php_mssql.dll,将前面的注释符号去掉 2.找到mssql.s ...

  5. Sql Server实现多行数据按分组用逗号分隔成一行数据

    例如,要将下面的数据 以GROUP_ID进行分组,一组一行,一组中的多个PRODUCT_ID用逗号分隔,select 出来成如下结果: 在Sql Server中,我目前想到的一种方法是写一个函数,如下 ...

  6. 【SQL Server 2012】按倒序存储“分组统计”结果的临时表到新建表

    程序预先说明: 本文访问的数据库是基于存有RDF三元组的开源数据库Localyago修改的库,其中只有一个表,表中有五个属性:主语subject.谓语predict.宾语object.主语的编号sub ...

  7. sql server利用开窗函数over() 进行分组统计

    这是一道常见的面试题,在实际项目中经常会用到. 需求:求出以产品类别为分组,各个分组里价格最高的产品信息. 实现过程如下: declare @t table( ProductID int, Produ ...

  8. SQL Server的日期和时间类型

    Sql Server使用 Date 表示日期,time表示时间,使用datetime和datetime2表示日期和时间. 1,秒的精度是指使用多少位小数表示秒 DateTime数据类型秒的精度是3,D ...

  9. [转]sql server 数据库日期格式化函数

    转至:http://www.cnblogs.com/hantianwei/archive/2009/12/03/1616148.html 0   或   100   (*)     默认值   mon ...

随机推荐

  1. 定长文本格式编辑神器 - Record Editor

    由于项目里有系统使用的是定长的文本格式,如果列数比较多的话编辑检查起来会特别麻烦.之前也找了各种编辑器的插件,最多只能显示列宽.辅助线而以还是不方便 .最后发现了一个开源项目 Record Edito ...

  2. 在WPF中减少逻辑与UI元素的耦合

    原文:在WPF中减少逻辑与UI元素的耦合             在WPF中减少逻辑与UI元素的耦合 周银辉 1,    避免在逻辑中引用界面元素,别把后台数据强加给UI  一个糟糕的案例 比如说主界 ...

  3. Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(无数截图)

    [文章作者:张宴 本文版本:v1.0 最后修改:2011.03.30 转载请注明原文链接:http://blog.s135.com/libevent_windows/] 本文介绍了如何在 Window ...

  4. sql语句查询重复值

    select * from user where name in (select name from user group by name having count(*)>1)

  5. Android零基础入门第63节:过时但仍值得学习的选项卡TabHost

    原文:Android零基础入门第63节:过时但仍值得学习的选项卡TabHost 由于前几天参加一个学习培训活动,几乎每天都要从早晨7点到晚上一两点,没有什么时间来分享,实在抱歉中间断更了几天.从今天开 ...

  6. Android多线程(三)

    上次讲了关于Android多线程中通信中Thread.Handler.Looper等的基础概念和基本用法,用现实世界两个人写信交流的过程来理解是再好不过了.但是不得不说这一套完整的细节的确很繁琐,好在 ...

  7. C#6.0一些特性

    1.自动属性初始化的改进 声明属性时可以直接进行初始化 public int id {get;set;}=10; 自动属性是省去了get和set内部的过程,而直接用set;get;这样的语句代替, 把 ...

  8. delphi Stomp客户端连接 RabbitMQ(1)

    最近公司想上个消息推送系统,网上搜了很多,因公司主要产品是Delphi,我选择了开源的RabbitMQ,Erlang语言开发,天生并行. 代码下载地址:delphistomp下载地址 windows上 ...

  9. Python中的参数传递问题

    首先需要说明python中元组,列表,字典的区别. 列表: 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单. 例如:lst = ['arwen',123] 向list中添加项有两种方法:ap ...

  10. easyui tree后台传json处理问题

    一.tree json格式 [ { "id": 1, "text": "权限管理", "iconCls": " ...