找文章 / 找答案
精选问答 更多内容

[常用脚本] sql

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-4-1 08:07:05 |阅读模式 打印 上一主题 下一主题
1
未解决

【常用脚本】 sql

1773 5
MySQL数据库,现在的需求是利润根据产品名称分组,分组完之后的数据需要取出顺数前十(和倒数前十)的记录(客户想用sql实现来提高报表的性能),请问这个要怎么实现呢(order by和limit实现的效果对嘛)?谢谢呀
回复

使用道具 举报

精彩评论5

永洪tech-Lerry青铜一 显示全部楼层 发表于 2022-4-1 10:01:33
前十: select "产品名称", SUM("利润") from "表名" group by "产品名称" ORDER by SUM("利润") desc LIMIT 10
后十: select "产品名称", SUM("利润") from "表名" group by "产品名称" ORDER by SUM("利润")  LIMIT 10
把"产品名称","利润","表名" 替换成您这边对应的列名
您试下这样能用不
回复

使用道具 举报

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-4-1 10:05:07
永洪tech-Lerry 发表于 2022-4-1 10:01
前十: select "产品名称", SUM("利润") from "表名" group by "产品名称" ORDER by SUM("利润") desc LIMI ...

e嗯嗯,这么写是可以的嘛,那如果我第十和第十一、二条记录利润值是相同的,这个它是会随机取一个数是嘛,我查资料好像是这么说的
回复

使用道具 举报

永洪tech-Lerry青铜一 显示全部楼层 发表于 2022-4-1 10:29:30
yhdata_MB5fOVHS 发表于 2022-4-1 10:05
e嗯嗯,这么写是可以的嘛,那如果我第十和第十一、二条记录利润值是相同的,这个它是会随机取一个数是嘛 ...

是的,如果您需要查询并列占位或不占位的前十可以参考https://www.cnblogs.com/zh718594493/p/16036320.html这个这样构造,然后在语句后面加上where rank <= 10。
回复

使用道具 举报

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-4-1 11:09:44
永洪tech-Lerry 发表于 2022-4-1 10:29
是的,如果您需要查询并列占位或不占位的前十可以参考https://www.cnblogs.com/zh718594493/p/16036320.h ...

嗯嗯,好的,谢谢呀
回复

使用道具 举报

永洪tech-Lerry青铜一 显示全部楼层 发表于 2022-4-1 11:33:31
yhdata_MB5fOVHS 发表于 2022-4-1 11:09
嗯嗯,好的,谢谢呀

回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部