取一种类型里面的产品销售前3甲的数据Sql
2024-10-18 01:07:41
需求:取出每种分类里面的销售前3甲的产品信息
表设计如下图:
数据如下:
两种方法可以实现:
1.
SELECT * FROM
(
SELECT ROW_NUMBER() OVER(PARTITION BY categoryID ORDER BY saleNum desc) AS SaleSeq,* FROM productSale
) a
WHERE SaleSeq < 4
2.
SELECT * FROM dbo.ProductSale t
WHERE ProductID IN
(
SELECT TOP 3 ProductID FROM dbo.ProductSale m
WHERE m.CategoryID = t.CategoryID
ORDER BY SaleNum DESC
)
ORDER BY t.CategoryID, t.SaleNum DESC
结果如下图:
说明:此2种方法可以在前3甲的产品销售数量不相等时准确查询出前3甲的产品销售信息,但如果前3甲中有销售数量相同的产品,
则有可能是少取了另一些产品,比如销售第一1种产品,销售第二1种产品,销售第三3种产品,
则会在销售第三的3种产品中取一个产品返回,其实是少了并列的2种产品的,此处需要注意。
最新文章
- 表格与ckeckbox的全选与单选
- 适配各种Windows分辨率,为DPI添加感知,当在高DPI时,禁用WINFORM缩放等。
- 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署
- es6 class
- 关于GPL的一些知识
- Nginx基础知识之————Nginx 环境的搭建?
- 原始套接字的简单tcp包嗅探
- ios开发跳转
- Tkinter教程之Event篇(2)
- flume 自己定义 hbase sink 类
- poj-2195-Going Home最小费用最大流
- PAT (Advanced Level) 1080. Graduate Admission (30)
- 初识hadoop-历史及其家族(日志一)
- 安卓一键分享到qq,微信,微博,官方SDK非第三方
- ansible-play中role的基本用法
- TCP连接与释放
- java.lang.Comparable 接口 详解
- android 开发 修改系统背景(状态栏颜色、导航栏颜色、标题栏颜色等等)
- 接口测试3-3Excel格式
- robotFramework--ride 问题:Data source does not exist.
热门文章
- Linux下/proc目录简介(转)
- 深入理解JavaScript系列(33):设计模式之策略模式(转)
- Android开发被添加到桌面快捷方式
- UVA No Tipping
- This Android SDK requires Android Developer Toolkit version 22.6.2 or above.
- bat(批处理文件)初步 第一篇 基本符号
- 第三篇——第二部分——第二文 计划搭建SQL Server镜像
- 缓存之EHCache(转)
- 随着MapReduce job实现去加重,多种输出文件夹
- SQL Server 2008 R2 安全性专题(一):安全原则