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则是在分组前筛选