SQL语句 里的order by 、group by、having、where 用在哪里

SQL语句 里的order by 、group by、having、where 应该用在哪里 老混起来特别是having和where 两个什么区别啊

orderby 是排序 group by 用于分组查询 having 和where 区别在于 where 是用在分组前筛选 having 用于分组后筛选
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-29
where是用在你对条件的限制,当你使用group by是一定要使用having,这个是按照什么分组,order by是排序,你检索出来的记录按照什么顺序排列,比如,字母的先后顺序啊,数字的大小啊等等
第2个回答  2011-09-29
select ziduan1,ziduan2,ziduan3 from biao order by ziduan1 --从小到大
select ziduan1,ziduan2,ziduan3 from biao order by ziduan1 desc --从大到小
select ziduan1,ziduan2,ziduan3 from biao group by ziduan1,ziduan2,ziduan3 --分组可以去除重复值
select ziduan1,sum(ziduan2) as 2,sum(ziduan3) as 3 from biao group by ziduan1 --非计算的字段需要分组
select count(ziduan1) 1 from biao group by ziduan1 --可以统计数据条目数
select count(ziduan1) 1 from biao where ziduan1=ziduan2 group by ziduan1 --可以统计ziduan1=ziduan2的数据条目数

select ziduan1 --查询的字段
from biao --表名称
where ziduan1<>'' --字段1不等于空
group by ziduan1 --按字段1分组
having sum(ziduan2)=sum(ziduan3) --字段2合计等于字段3合计
order by ziduan1 --排序字段

where 条件是字段直接判断,没有聚合条件
比如:where shuliang<>0 and shuliang =1 and1+1=2 等等
having 是聚合条件
比如:having sum(shuliang)<>0 and sum(shuliang)=1 and sum(1+1)=2等等本回答被网友采纳

SQL语句 里的order by 、group by、having、where 用在哪里
1.order by 是 按字段 进行排序.. 字段后面可跟 desc 降序..asc 升序..默认为升序2.group by 是进行分组 查询3.having 和 where 都属于 条件过滤 区别在于 一般having是和 group by 连用... 目的是 分组后进行的条件查询...而如果在group by 前面有where 则是表示 先条件过滤再 分组 ...

SQL语句 里的order by 、group by、having、where 用在哪里
orderby 是排序 group by 用于分组查询 having 和where 区别在于 where 是用在分组前筛选 having 用于分组后筛选

SQL语句中,如果有group by 和order by两个语句,是先分组还是先排序...
Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数)然后通过Group By关键字后面指定的分组条件将筛选得到的视图进...

在SQL语句中,select,where,group by,having,order by,这几个关键字程序...
group by 用那些来给结果分组 having 和where 差不过也是条件 order by 给结果排序

当sql语句中where,order by,group by同时使用查询sql语句中三者的顺序...
顺序是:SELECT ... FROM ... WHERE ... GROUP BY ... ORDER BY ...

数据库中,select where group by having 执行顺序
1.having只能用在group by之后,对分组后的结果进行筛选(即使用having的前提条件是分组)。2.where肯定在group by 之前,即也在having之前。3.where后的条件表达式里不允许使用聚合函数,而having可以。四、当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序是:1.执行...

在SQL中group by子句有什么作用?
SELECT语句中,与HAVING子句同时使用的是GROUP BY子句。HAVING子句:用having就一定要和group by连用, 用group by不一有having。HAVING子句在聚合(group by)后对组记录进行筛选。group by子句与select语句配合使用,把相同的数据划分为组,group by子句在where子句之后,在order by子句之前,这个子句对CPU...

...语句where条件group by ,having , order by,limit的顺序及用法_百度...
group by 分组属性 having 分组过滤的条件 这个是按照分组属性进行分组,所有分组属性上值相同的记录被分为一组,作为结果中的一条记录,后面的having是对分组进行过滤的条件,必须和group by一起使用 order by 排序属性 是对结果集合进行排序,可以是升序asc,也可以是降序desc limit 起始记录位置...

orderby和groupby的区别
orderby后面必须列出排序的字段名,可以是多个字段名。2、groupby从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。3、在使用groupby的语句中,只能select用于分类的列(表达式),或聚合函数。where条件用于groupby之前,having用于groupby之后对结果进行筛选。数据库(...

sqlserver 查询问题(group by 与 WHERE 的作用时间)
where只能在 group by 前面,顺序不能改变 group by是分组依据,想获得where条件选择的 只能使用having语句。having语句不能单独出现前面必须要有group by。--- where -> group by -> having -> order by 按这个顺序编写语法

相似回答
大家正在搜