limit where group by having select

LIMIT是MySQL内置函数,其作用是用于限制查询结果的条数

语法格式如下:

LIMIT[位置偏移量,]行数

其中,中括号里面的参数是可选参数,位置偏移量是指MySQL查询分析器要从哪一行开始显示,索引值从0开始,即第一条记录位置偏移量是0,第二条记录的位置偏移量是1,依此类推...,第二个参数为“行数”即指示返回的记录条数。

位置偏移量可以理解为跳过前xx条记录(元组).

limit 起始位置(0开始算),显示条数;
SELECT * FROM `test` limit 2,4 他的起始位置写的是2,由于是从0开始算起的所以自然真正的起始位置是3,后面的4代表显示4条记录

 

select (字段) from (表) [where (条件)] [group by (分组条件)] [order by (排序条件)]

 

select * from table where a字段='x' and b字段='zzz'

 

where:

select * from user where id=1
查询id为一的用户
select * from user where name like '章%'
查询姓张的用户
select * from user where age in (12,13,14) and sex='男'
查询年龄是12,13,14的男生用户

group by 分组 字段


having

having 用法与WHERE用法类似,但有三点不同
1、HAVING只用于GROUP BY(分组统计语句),
2、WHERE 是用于在初始表中筛选查询,HAVING用于在WHERE和GROUP BY 结果中查询。
3、HAVING可以使用聚合函数,面WHERE 不能。
下面的语句统计用户表中姓名为“李”(WHERE子句定义),出现多于一次(having 用聚合函数COUNT(1)定义)的人的用户
SELECT USERCODE,username=max(username),次数=count(1) from usertable where username like '李%' group by usercode having count(1)>1
聚合函数, 

例如SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。 

SELECT SUM(population) FROM bbc 

这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有 
国家的总人口数。 

having是分组(group by)后的筛选条件,分组后的数据组内再筛选
where则是在分组前筛选


posted @ 2018-02-07 19:49  程序图  阅读(152)  评论(0编辑  收藏  举报