mysql实现over partition by 的查询(分组排序求TOP)
需求是求以下表中每一种分类销量最多的三种商品:
方法1:
1 2 3 4 5 6 | SELECT TBL.ID,TBL.PRODUCTNAME,TBL.TYPENAME,TBL.SALECOUNT FROM PRODUCT TBL LEFT JOIN PRODUCT L_TBL ON TBL.TYPENAME = L_TBL.TYPENAME AND TBL.SALECOUNT< L_TBL.SALECOUNT GROUP BY TBL.ID,TBL.PRODUCTNAME,TBL.TYPENAME,TBL.SALECOUNT HAVING COUNT (L_TBL.ID)< 3 ORDER BY TBL.TYPENAME,TBL.SALECOUNT DESC |
方法2:
1 2 3 4 | SELECT TBL.ID,TBL.PRODUCTNAME,TBL.TYPENAME,TBL.SALECOUNT FROM PRODUCT TBL WHERE 3>( SELECT COUNT (*) FROM PRODUCT WHERE TYPENAME =TBL.TYPENAME AND SALECOUNT>TBL.SALECOUNT) ORDER BY TBL.TYPENAME,TBL.SALECOUNT DESC |
查询结果:
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)
· Windows 提权-UAC 绕过
2021-01-02 jquery操作select(取值,设置选中)
2020-01-02 Quartz的Misfire处理规则