sql MAX 没能选出sql怎么查询最大值值

数据库有一个表 code里面有个点击量字段click_num和一个类别字段kind以及其它信息字段,

现在要搜出每个类别中点击量sql怎么查询最大值的那条记录如果是10个类别,那么结果应该是10条記录

如果sql怎么查询最大值点击量有两个相同的只要一条。

经过N次搜索N次检测网上的解决SQL语句,终于找到个优雅的而且结果正确的SQL这個是一个博客作者在Mysql的官方文档里面发现的。

禁不住收藏了以备后用。

这个语句在SQLite上测试正常速度很快。但是在我机器上的MySql5.0上执行后僦死机了其他版本的Mysql不知道什么情况。

上面的语句还不能满足我的第二个要求就是:如果某类别中sql怎么查询最大值点击量有两个相同的記录只要一条。

下面是我附加的解决办法:

筛选保证每个类别只有一条,(kind,id改为所有列,结果就是对应的记录了)

结合以往的Mysql使用经验发現Mysql的一个sql怎么查询最大值问题就是在一个查询的where子句中如果包含对前面select的表的查询那么CPU占用就会飙升Mysql服务停止。可以说是自连接查询问题不知道这是不是个bug,5.0,5.1版本都有这个问题回头看看上面的SQL语句正好符合了这个问题,解决办法就是把子查询的表弄成一个临时表或者视圖总之不能和前面的select的表是同一个表那么问题就解决了,于是乎对上面的SQL稍作修改就可以在Mysql上跑了。

1.建立一个视图max_click,存储的是每个类别sql怎么查询最大值的点击量

2.筛选保证每个类别只有一条记录


运行正常,速度0.78秒(表中一共23000条数据) Okay! 大功告成!

最前面第一个SQL在MSSQL上运行不知道行不行,我想在SQLite能正常在MSSQL上应该没问题看来Mysql需要改进的地方很多啊,同样是开源的SQLite就可以做到的而且SQLite那么轻量级就几百KB,Mysql更应该能做到

}

数据库有一个表 code里面有个点击量字段click_num和一个类别字段kind以及其它信息字段,

现在要搜出每个类别中点击量sql怎么查询最大值的那条记录如果是10个类别,那么结果应该是10条記录

如果sql怎么查询最大值点击量有两个相同的只要一条。

经过N次搜索N次检测网上的解决SQL语句,终于找到个优雅的而且结果正确的SQL这個是一个博客作者在Mysql的官方文档里面发现的。

禁不住收藏了以备后用。

这个语句在SQLite上测试正常速度很快。但是在我机器上的MySql5.0上执行后僦死机了其他版本的Mysql不知道什么情况。

上面的语句还不能满足我的第二个要求就是:如果某类别中sql怎么查询最大值点击量有两个相同的記录只要一条。

下面是我附加的解决办法:

筛选保证每个类别只有一条,(kind,id改为所有列,结果就是对应的记录了)

结合以往的Mysql使用经验发現Mysql的一个sql怎么查询最大值问题就是在一个查询的where子句中如果包含对前面select的表的查询那么CPU占用就会飙升Mysql服务停止。可以说是自连接查询问题不知道这是不是个bug,5.0,5.1版本都有这个问题回头看看上面的SQL语句正好符合了这个问题,解决办法就是把子查询的表弄成一个临时表或者视圖总之不能和前面的select的表是同一个表那么问题就解决了,于是乎对上面的SQL稍作修改就可以在Mysql上跑了。

1.建立一个视图max_click,存储的是每个类别sql怎么查询最大值的点击量

2.筛选保证每个类别只有一条记录

运行正常,速度0.78秒(表中一共23000条数据) Okay! 大功告成!

最前面第一个SQL在MSSQL上运行不知道行不行,我想在SQLite能正常在MSSQL上应该没问题看来Mysql需要改进的地方很多啊,同样是开源的SQLite就可以做到的而且SQLite那么轻量级就几百KB,Mysql更应该能做到

}

我要回帖

更多关于 sql怎么查询最大值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信