-- 语法:

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. javascript同名变量

    我写个流程:在流程之前,必须写一下标识符是啥. 一句话,就是variable object的属性.而这个对象会被不同执行环境来决定. 比如全局环境下的variable object 就是 global ...

  2. 用div,ul,input模拟select下拉框

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. PHP public private protected 三种修饰符的区别

    public 表示全局,类内部外部子类都可以访问:private表示私有的,只有本类内部可以使用:protected表示受保护的,只有本类或子类或父类中可以访问:

  4. Django学习笔记之一

    一.Windows下安装 Django 1.下载安装包解压后放到本地目录如C:\Django-1.7.2 官网地址:https://www.djangoproject.com/download/ 2. ...

  5. BZOJ2061 : Country

    记忆化搜索,设$f[i][j]$表示符号$i$一开始kmp指针为$j$,中间匹配了多少次,$g[i][j]$则表示匹配结束后kmp指针的位置. 时间复杂度$O(nl^2)$. #include< ...

  6. Codeforces Round #253 (Div. 2) B - Kolya and Tandem Repeat

    本题要考虑字符串本身就存在tandem, 如测试用例 aaaaaaaaabbb 3 输出结果应该是8而不是6,因为字符串本身的tanderm时最长的 故要考虑字符串本身的最大的tanderm和添加k个 ...

  7. ACM +-字符串

    +-字符串 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 Shiva得到了两个只有加号和减号的字符串,字串长度相同.Shiva一次可以把一个加号和它相邻的减号交换. ...

  8. 51Nod 1136 欧拉函数 Label:数论

    对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Euler's totient function.φ函数.欧拉商数等.例如:φ(8) = 4(Phi( ...

  9. wamp环境下安装memcached最好的详解教程^.^:(只需要3个步骤 )

    win8.1 wampserver2.5 -Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 可以参考一下部分讲解有图,我就是看4-5个讲解,结合有一篇的截图最终才搞定的 ...

  10. HDU 1693 Eat the Trees(插头DP)

    题目链接 USACO 第6章,第一题是一个插头DP,无奈啊.从头看起,看了好久的陈丹琦的论文,表示木看懂... 大体知道思路之后,还是无法实现代码.. 此题是插头DP最最简单的一个,在一个n*m的棋盘 ...