为了账号安全,请及时绑定邮箱和手机立即绑定

mysql中使用ORDER BY 之后再用Limit没有效果?

mysql中使用ORDER BY 之后再用Limit没有效果?

jeck猫 2018-12-14 15:11:11
看下面两条语句,通过这些条件 WHERE created_at=(SELECT MAX(created_at) FROM hs300_sql)AND period='06s' 得到的数据有300条,我只想取前150条数据的某个字段的和,但是我两条语句的结果是一样的,也就是说limit 149没有起作用,请问我应该怎么写才能达到我的目地SELECT SUM((avg_p) FROM hs300_sql WHERE created_at=(SELECT MAX(created_at) FROM hs300_sql)AND period='06s' ORDER BY quanzhong DESC LIMIT 149 ;SELECT SUM(avg_p) FROM hs300_sql WHERE created_at=(SELECT MAX(created_at) FROM hs300_sql)AND period='06s' ORDER BY quanzhong DESC ;二楼的答案我试过,和我的结果是一样的,个人认为它是将所查询的结全部都求和了,并没有得到我们想像中,前150条记录的和,因为我把limit 149 这个条件去掉,它的结果也还是一样的
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

SELECT SUM(avg_p) FROM
(
select avg_p from hs300_sql
WHERE created_at=(SELECT MAX(created_at) FROM hs300_sql)
AND period='06s'
ORDER BY quanzhong DESC
)k
limit 149;

查看完整回答
反对 回复 2019-01-16
  • 1 回答
  • 0 关注
  • 751 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号