单表查询的语法结构
- 单表查询的语法结构
select #查询动作
from 表 #要查询的表
where #筛选、类似grep
group by #分组 将要查询的字段进行分组
having #条件过滤此语法只能在group bay 后面出现
order by #将查找出来的条件进行排序,默认从小到大,DESC从大到小
limit #输入想要查询的数据量
示例 select + from 语句
---查询city表中有哪些数据
USE world;
SELECT * FROM city;
示例 select + from +where语句
---查询city表中国家是中国的有哪些数据
SELECT * FROM city WHERE countrycode="CHN"
示例select + from + where + group by + 聚合函数
-
聚合函数
count() : 统计个数
sum() : 求和
avg() :平均值
max() :最大值
min() :最小值
group_concat():列转行:把查询字段的值打印在一行,逗号分隔(默认) -
示例select + from + where + group by + 聚合函数
-- 1. 需求 :1000人在一个广场上,要求快速统计每个省的学生数量
-- 2. 使用group by 将人数进行分分组
-- 3. 按照group by分的组进行排序+去重复
-- 4. 统计每个组的人数
-- 5. 将统计的结果输出
- 例子1 : 统计city表,每个国家的城市个数
SELECT countrycode,COUNT(*) #显示国家字段及每个国家的个数
FROM city #查询表
GROUP BY countrycode; #已国家这个字段进行分组
- 例子2 : 统计city表,中国 每个省的 城市个数
SELECT district,COUNT(*)
FROM city
WHERE countrycode='CHN'
GROUP BY district;
- 例子3 : 统计city表,每个国家的总人口数 sum() :求和
SELECT countrycode,SUM(population)
FROM city
GROUP BY countrycode;
- 例子4 : 统计city表,中国 每个省的总人口数
SELECT district,SUM(population)
FROM city
WHERE countrycode='CHN'
GROUP BY district;
- 例子5 : 统计city表,中国 每个省的 城市个数 ,所有城市名group_concat():列转行:把查询字段的值打印在一行,逗号分隔(默认)
SELECT district,COUNT(*) ,GROUP_CONCAT(NAME) #显示省、省的城市个数、具体城市名
FROM city
WHERE countrycode='CHN'
GROUP BY district;
示例select + from + where + group by + 聚合函数 + having 应用
- 例子: 统计city表,中国 每个省的总人口数,显示总人口数超过500w的信息
SELECT district,SUM(population)
FROM city
WHERE countrycode='CHN'
GROUP BY district
having SUM(population)>5000000;
select + from + where + group by + 聚合函数 + having +order by
- 例子: 统计city表,中国 每个省的总人口数,显示总人口数超过500w的信息,并按照总人口排序输出。
SELECT district,SUM(population)
FROM city
WHERE countrycode='CHN' #条件国家等于chn的
GROUP BY district #省份分组
HAVING SUM(population)>5000000 #sum求和 总人数大于500w
order by SUM(population); #order bay 将数据进行排序,默认从小到大
SELECT district,SUM(population)
FROM city
WHERE countrycode='CHN'
GROUP BY district
HAVING SUM(population)>5000000
ORDER BY SUM(population) desc ;#order bay 将数据进行排序,从大到小
示例select + from + where + group by + 聚合函数 + having +order by + limit
- 例子: 统计city表,中国 每个省的总人口数,显示总人口数超过500w的信息,并按照总人口从大倒小排序输出
— 只显示前5名。
SELECT district,SUM(population)
FROM city
WHERE countrycode='CHN'
GROUP BY district
HAVING SUM(population)>5000000
ORDER BY SUM(population) desc
limit 5 offset 0 ; #只显示5个数据 offset为0
-- 只显示6-10名。
SELECT district,SUM(population)
FROM city
WHERE countrycode='CHN'
GROUP BY district
HAVING SUM(population)>5000000
ORDER BY SUM(population) DESC
LIMIT 5,5; #只显示5个数据 offset为5 offset可以用逗号表示
SELECT district,SUM(population)
FROM city
WHERE countrycode='CHN'
GROUP BY district
HAVING SUM(population)>5000000
ORDER BY SUM(population) DESC
LIMIT 5 offset 5; #只显示5个数据 offset为5
原文地址:http://www.cnblogs.com/root6/p/16864962.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性