站在巨人的肩膀上 感谢各位前辈

​​快速失败与安全失败​​

​​深入图解AQS实现原理和源码分析​​

​​Synchronized底层实现​​





数据库MYSQL


​​MySQL江湖路 {系列}​​


​​【MySQL笔记】正确的理解MySQL的MVCC及实现原理​​


​​【MySQL笔记】正确的理解MySQL的乐观锁,悲观锁与MVCC​​


​​面试让HR都能听懂的MySQL锁机制,欢声笑语中搞懂MySQL锁​​


​​Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day7】 —— 数据库2(事务)​​


​​上个厕所的功夫,搞懂MySQL事务隔离级别​​


​​MySQL - 常用存储引擎区别总结(2020最新版)​​


​​Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day4】 —— 数据库1​​ 数据库sql优化,分库分表,数据库删除数据区别,引擎的不同的状态的不同


​​SQL优化最干货总结 - MySQL(2020最新版)​​


​​5分钟搞懂MySQL - 索引下推优化​​


​​听我讲完redo log、binlog原理,面试官老脸一红​​


​​一文搞懂MySQL索引所有知识点(建议收藏)​​


​​数据库:drop、truncate、delete三者删除的区别​​


​mysql覆盖索引与回表​


​​MySQL常用函数收集​​


​​连接(join)group by、order by、where的执行顺序​​ 一、group by

group by主要用于分组,达到对数据的分类更加精确。 group by中存在的列必须是有效的列(即为表的列字段)。同时若在select 中存在,必须在group by中列出,不能使用别名。 group by必须位于where 后,order by前;此外一般与order by一起使用。 group by 会对Null进行单独分组,若为一行则单独一组,若多行,则多行为一组。
二、与having,where的比较
5. 使用group by 后,若想进行再次筛选可以使用having。
6. having是在分组后进行筛选;where是在执行条件后再分组。
7. having对一组数据进行操作;where是对行进行操作。

三、与order by的比较
-**在使用group by时,一般与order by同时使用,执行顺序为:
先group by ,然后order by。

四、在SQL中执行的顺序

  1. 先连接from后的数据源(若有join,则先执行on后条件,再连接数据源)。
  2. 执行where条件
  3. 执行group by
    4.执行having
    5.执行order by
    6.输出结果。

顺序:

FROM
ON
JOIN
WHERE
GROUP BY
WITH CUBE 或 WITH ROLLUP
HAVING
SELECT
DISTINCT
ORDER BY
TOP

写的顺序:select … from… where… group by… having… order by…
执行顺序:from… where…group by… having… select … order by…


​​天天写 order by,你知道Mysql底层执行流程吗?​​