博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
T-SQL之SELECT语句的元素
阅读量:5274 次
发布时间:2019-06-14

本文共 799 字,大约阅读时间需要 2 分钟。

select id,name,count(distinct name) as namecount from  table1 where  id=1    group  by id,name having count(distinct name) having  name=''  order  by  id

如上述sql,在逻辑上按照下面的顺序进行执行:

1.from 2.where 3.group by 4.having  5.select  (5.1 over  5.2distinct  5.3top) 6.order by 

 

1.1from

  指定要查询的表名。

1.2  where

可以指定一个为此或逻辑表达式,从而过滤由from阶段返回 的行。

1.3 group by

这个阶段可以将前面查询到的数据按组进行组合。所以在select中后面使用到的属性,都要包括在group by后面,因为这个阶段是为了保证查询到的属性值作为一个组合是唯一的。

注意:所有的聚合函数都会忽略NULL值,只有count(*)除外,比如一列count1的值为10,20,NULL,10,10,60,那么count(*)=6,但是count(count1)=5.因为count1列只有5行已知值。还可以在聚合函数中指定distinct关键字。比如count( distinct count1)=4,sum(distinct count1)=90,avg( distinct count1)=90/3=30.

1.4having

having 关键字是在对行进行分组之后进行处理的,是指定对组进行过滤的谓词或逻辑表达式。

1.5 select

select用于指定需要在查询返回的结果集中包含的属性(列)。

 

转载于:https://www.cnblogs.com/anjingdian/p/11594870.html

你可能感兴趣的文章
一个App项目设计开发完整流程
查看>>
如何使用iClap创建普通批注
查看>>
用Java编写自己的机器人,为你承担苦力
查看>>
第四章App4_3,懂得了抛出异常 throws Exception,read为读取键盘输入数,学会了switch循环...
查看>>
从零开始——MySql01
查看>>
基于线程池的线程管理(BlockingQueue生产者消费者方式)实例
查看>>
sqlmap
查看>>
给出随机存储器(RAM)和只读存储器(ROM)的差别
查看>>
CSS3 3D Transform
查看>>
js深拷贝
查看>>
http和socket之长连接和短连接区别(转)
查看>>
【HTML】网页中如何让DIV在网页滚动到特定位置时出现
查看>>
文件序列化
查看>>
C++11 中的线程、锁和条件变量
查看>>
HDU 2485 Destroying the bus stations(!最大流∩!费用流∩搜索)
查看>>
Oracle关于用户信息的一些SQL语句
查看>>
2019-02-28处理公司同事无法上网事件记录
查看>>
cookie的过期时间
查看>>
HTCVive使用
查看>>
Javascript 浏览器检测
查看>>