mysql 8.0分组查询 sql实现

总所周知,mysql8.0的时候运行 select * from table group by name会报错,这让之前在mysql5.7写sql的同学就很苦恼,要怎么实现原本的这条sql呢?

方案一:改数据库配置,让它支持这种写法。(不推荐)相信大家看到这个就骂娘了,怎么又是改数据库。别急,下面是sql方案。

方案二:

`select * from table group by name`

等于

select a.* from table a inner join
 (select name,min(id) id from table group by name) b on a.id = b.id
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 8.0引入了一种新的特性,称为SQL等待事件(SQL Wait Events),该特性可以用于分析和诊断MySQL数据库中的性能问题。SQL等待事件允许用户监视和跟踪数据库中发生的等待事件,并找出导致性能瓶颈的原因。 SQL等待事件是指当一个SQL语句执行时,可能会因为某种原因而处于等待状态。这些等待事件可能包括锁等待、磁盘IO等待、网络等待等。通过监视和分析这些等待事件,我们可以了解到MySQL数据库中的性能瓶颈所在。 通过使用SQL等待事件,我们可以获得以下几个方面的信息: 1. 等待事件类型:我们可以获知SQL语句实际上是因为何种原因而处于等待状态,比如等待锁、等待磁盘IO等。 2. 等待事件持续时间:可以获知SQL语句在等待事件中停留的时间长度,这有助于我们判断等待事件是否严重影响了SQL语句的性能。 3. 等待事件计数:我们可以获知每个等待事件发生的频率,从而可以找出导致频繁等待的原因。 4. 相关SQL语句:可以获知导致等待事件的具体SQL语句是哪条,从而可以进一步分析和优化这些SQL语句。 通过对SQL等待事件的详细分析,我们可以发现数据库中的性能瓶颈,并针对性地进行优化,从而提高数据库的整体性能。这对于开发人员和DBA来说都是非常有价值的工具和特性,能够帮助他们更好地分析和调优MySQL数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值