-- 语法:

SELECT select_list   
FROM table_name  
[ WHERE search_condition ]  
[ GROUP BY group_by_expression ]  
[ HAVING search_condition ]  
[ ORDER BY order_expression [ ASC | DESC ] ]
[limit m,n]

  

  
-- 示例:
-- limit 0,10是从第一条开始,取10条数据
select classNo  from table_name
group by classNo
having(avg(成绩)>70)
order by classNo
limit 0,10

  

 
说明:

1.where

where后跟条件用来筛选我们所需的行。它后面可以跟的操作符有=、!=、<、>、<=、>=、 in、 like(可以和通配符%结合一起用,效果将会更好) 、between....and........ AND、OR 、NOT

如:select id,name,score form student where score in (每组里面的最高分组合);

2.group by(GROUP BY 语句用于结合合计函数(也叫聚合函数sum count avg max min),根据一个或多个列对结果集进行分组。否则没有多大的意义)

group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面
如:我们对文字的分类id进行分组,查询每组分类的文章数 select articlecategory_id,count(*) from article group by articlecategory_id;
再次提示:
如果你使用了group by,而没有相应的使用聚合函数那么结果就没有意义了,按照实际情况来思考的话就变成了一对多了(也就是一个分组对应多个对象(也就是多行),那么一个分组对应多行数据的显示就变成了分组和第一行数据进行显示了,所以此时我们应该使用聚合函数(聚合函数就是把多个变成一),也就是对多行数据进行筛选,得到我们想要的数据,如:可以使用count计算论坛小组总帖子数,可以使用sum来计算
论坛小组帖子总回复数,可以使用max来计算论坛小组最多回复的帖子,可以使用min来计算论坛小组最少回复数(没有多大意义,商城最便宜的商品就意义了),可以使用avg来计算论坛每周的平均访问量(商城所有商品的平均价格)等。

3.having 这个是针对查询的结果进行作用,只能对结果拥有的列进行操作,与where不同的是where是针对原表(就是from后面的那张表的字段)发挥作用。其中having里面可以使用聚合函数。为group by子句设置条件,类似于where为select语句设置条件的方法。having的查找条件可以包括集合函数表达式。除此之外,它的查找条件与where查找条件相同。

select articlecategory_id,count(*) from article group by articlecategory_id having count(*)<5;

4.order by 排序 (可以对多个字段进行排序)

可以针对字段进行排序,order by 字段1 [asc] 升序,[desc] 降序

5.limit 获取条目的限定

语法 limit offset,N

limit 5 《====》 limit 0,5;

总结:where是针对from后面跟的表进行处理,而group by having order by limit则是针对select后面的字段进行处理。从它们的结构角度来看则:先整体后部分。

select的5中子句where,group by, havaing, order by, limit的使用顺序及实例的更多相关文章

  1. hive的strict模式;where,group by,having,order by同时使用的执行顺序

    主要限制三种情况 (1) 有partition的表查询需要加上where子句,筛选部分数据实现分区裁剪,即不允许全表全分区扫描,防止数据过大 (2) order by 执行时只产生一个reduce,必 ...

  2. mysql中的select语句where条件group by ,having , order by,limit的顺序及用法

    -- 语法: SELECT select_list FROM table_name [ WHERE search_condition ] [ GROUP BY group_by_expression ...

  3. MySQL select from join on where group by having order by limit 执行顺序

    书写顺序:select [查询列表] from [表] [连接类型] join [表2] on [连接条件] where [筛选条件] group by [分组列表] having [分组后的筛选条件 ...

  4. 五、select的5种子句

    1.Where 条件查询 比较运算符: 运算符 说明 >   <   =   >=   <=   !=或<>   In 在某集合内 between 在某范围内 In ...

  5. MySql学习(二) —— where / having / group by / order by / limit 简单查询

    注:该MySql系列博客仅为个人学习笔记. 这篇博客主要记录sql的五种子句查询语法! 一个重要的概念:将字段当做变量看,无论是条件,还是函数,或者查出来的字段. select五种子句 where 条 ...

  6. hive:(group by, having;order by)的使用;group by+多个字段,以及wiki说的group by两种使用限制验证

    hive> select * from app_data_stats_historical where os='1' group by dt limit 100; 出现结果如下: 2014-01 ...

  7. GROUP BY 和 ORDER BY一起使用

    转:http://lzfhope.blog.163.com/blog/static/636399220092554045196/ 环境:oracle 10g单单group by 或者order by本 ...

  8. (转)oracle group by 和order by的关系(在一起使用注意事项)

    转:http://lzfhope.blog.163.com/blog/static/636399220092554045196/ 环境:oracle 10g单单group by 或者order by本 ...

  9. where / having / group by / order by / limit 简单查询

    目录 1.基础查询 -- where 2. group by 与 统计函数 3. having 4.where + group by + having + 函数 综合查询 5. order by + ...

随机推荐

  1. 【Filter 页面重定向循环】写一个过滤器造成的页面重定向循环的问题

    今天做一个过滤器,碰上页面重定向循环的情况: 浏览器的访问路径是:http://192.168.16.104:8080/biologyInfo/login/login/login/login/logi ...

  2. 7.Android常用第三方支付

    移动支付 用户使用移动的终端完成对所购买商品或者服务的支付功能;分为近场支付(蓝牙支付,刷卡,滴卡),和远程支付(网上支付,短信支付) app支付模块 常见的支付厂商-->常见的支付方式 支付宝 ...

  3. JS日期函数

    JS的日期函数有以下几个: getFullYear(); //获取当前年 getMonth(); //获取当前月,需要加1,而且只有一位数字,如果小于10需要前面加0 getDate(); //获取当 ...

  4. 线段树(区间操作) POJ 3325 Help with Intervals

    题目传送门 题意:四种集合的操作,对应区间的01,问最后存在集合存在的区间. 分析:U T [l, r]填充1; I T [0, l), (r, N]填充0; D T [l, r]填充0; C T[0 ...

  5. 线段树(多维+双成段更新) UVA 11992 Fast Matrix Operations

    题目传送门 题意:训练指南P207 分析:因为矩阵不超过20行,所以可以建20条线段的线段树,支持两个区间更新以及区间查询. #include <bits/stdc++.h> using ...

  6. ViewState与Session

    在asp时代, 大家都知道一个html控件的值,比如input 控件值,当我们把表单提交到服务器后, 页面再刷新回来的时候, input里面的数据已经被清空. 这是因为web的无状态性导致的, 服务端 ...

  7. KMP算法 hdu4686 Oulipo

    Problem Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, w ...

  8. ACM: HDU 1874 畅通工程续-Dijkstra算法

    HDU 1874 畅通工程续 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Desc ...

  9. [Cocos2d-x For WP8]矩形碰撞检测

    在游戏中我们通常会涉及到两个精灵之间的碰撞的计算,那么在Cocos2d-x里面我们通常会用矩形碰撞检测来计算两个精灵在运动的过程中是否碰撞到了.原理很简单,就是当运动的时候通过精灵的矩形坐标进行遍历来 ...

  10. JS中常遇到的浏览器兼容问题和解决方法【转】

    今天整理了一下浏览器对JS的兼容问题,希望能给你们带来帮助,我没想到的地方请留言给我,我再加上: 常遇到的关于浏览器的宽高问题: //以下均可console.log()实验 var winW=docu ...