美文网首页
mysql(05day)

mysql(05day)

作者: rtrhhthth | 来源:发表于2018-08-13 19:44 被阅读0次

1.排序
ASC: 升序,默认的情况下就是升序
DESC: 如果要降序,指明为DESC

2.单列排序
SELECT * FROM 表名 ORDER BY 列 (ASC|DESC)

3.添加条件根据查询结果排序
SELECT * FROM 表名 WHERE 条件 ORDER BY 列 (ASC|DESC)

4.多列排序
SELECT * FROM 表名 WHERE 条件 ORDER BY 列 (ASC|DESC),列 (ASC|DESC)

5.如果你要排序的列是中文,我们先要将排序的列指明为GBK编码,然后再排序
SELECT * FROM stu WHERE age !=0 ORDER BY convert(name USING gbk);

6.限定查询
如果LIMIT 后面只跟了一个数字,表示限制返回多少条,并且从第一条开始。
SELECT * FROM studentinfo LIMIT 6; => SELECT * FROM studentinfo LIMIT 0,6;

如果LIMIT 后面只跟了两个数字,第一个数字表示偏移量(不包含当前数字对应的这一行),后一个数字表示限制返回多少条
SELECT * FROM studentinfo LIMIT 6,6;

7.聚合函数
AVG:求某一列平均值
COUNT:统计总行数
SUM:计算列总和
MIN:求某一列的最小值
MAX:求某一列的最大值

AVG:求某一列平均值

SELECT AVG(age) FROM 表名;

MIN:求某一列最小值

SELECT MIN(age) as minage FROM 表名;

求返回多少条信息

SELECT COUNT(*) FROM 表名;

求某一列最大值

SELECT MAX(age) FROM 表名;

求某一列总和

SELECT SUM(age) FROM 表名;

DISTINCT去重,只计算不同的值。

SELECT SUM(DISTINCT age) FROM 表名;

8.GROUP BY
分组 GROUP BY,单单只是用分组没有意义

分组跟聚合函数的使用,统计每一个分组下有多少人(有多少条记录)

SELECT count(*) as total,age FROM studentinfo GROUP BY age;

9.group by 与 group_concat(列)
group_concat(字段名)可以作为一个输出字段来使用,
表示分组之后,根据分组结果,使用group_concat()来放置每一组的某字段的值的集合
SELECT gender,group_concat(student_name),group_concat(age) FROM studentinfo GROUP BY gender;

group by + with rollup
在最后新增一行,来记录当前列里所有记录的总和
SELECT gender,count(*) FROM studentinfo GROUP BY gender with rollup;

10.HAVING:根据条件过滤结果

HAVING跟WHERE功能一致,他们的区别:WHERE是根据条件筛选结果(行)。
HAVING同样是根据条件筛选结果,不过它是在已有结果的基础之上再进一步筛选(组)。

使用having过滤分组,每个分组下的记录(行)大于2,才返回
SELECT count(),age FROM studentinfo GROUP BY age HAVING count() >2;

跟order by 配合使用
SELECT count(*),age,gender FROM studentinfo GROUP BY age,gender HAVING gender=1 ORDER BY age DESC;

查询语句的顺序:
SELECT
列,列
FROM
表名
WHERE
条件
GROUP BY
列,列
HAVING
条件
ORDER BY
列 (ASC|DESC)
LIMIT start,count

相关文章

  • mysql 05day

    mysql的基本命令

  • mysql(05day)

    1.排序ASC: 升序,默认的情况下就是升序DESC: 如果要降序,指明为DESC 2.单列排序SELECT * ...

  • 05day

    BFC (隐含的属性)1 父元素的垂直外边距不会和元素重叠2 开启BFC的元素不会被浮动元素所覆盖的3 开启BFC...

  • 05day

    文档流 将窗口自上而下分成一行行,在每行中从左向右的顺序排放元素,即为文档流。文档流中元素默认会紧贴到上一个元素右...

  • 网页05day

    定位:position属性可以控制Web浏览器如何以 及在何处显示特定的元素。可以使用position属性把一个元...

  • 前端05day

    **em标签用于表示一段内容中的着重点。**strong标签用于表示一个内容的重要性。...

  • 前端05day

    相对定位 绝对定位 固定定位 CSS高度塌陷 高度塌陷问题 在文档流中,父元素的高度默认是被子元素撑开的,也就是子...

  • 高度塌陷 3月 前端 05Day

    高度塌陷 块的格式化环境 BFC BFC (隐含的属性) 1.父元素的垂直外边距不会和子元素重叠; 2.开启BF...

  • 《让未来现在就来》打卡05Day

    读的什么书:《让未来现在就来》 阅读有效时间:一个小时 阅读中遇到的困难:整本书读完,感觉效果不大。 阅读有什么收...

  • Mysql数据库

    MySQL知识图谱 MySQL索引 MySQL架构 MySQL锁 MySQL事务 MySQL集群 MySQL分库分...

网友评论

      本文标题:mysql(05day)

      本文链接:https://www.haomeiwen.com/subject/yooubftx.html