sql - 仅显示唯一值
问题描述
我正在使用 SQL Server 2019 并寻找一种方法来根据其最新的 FW_Version 仅显示每个 AOC 的最新值。这是我到目前为止的查询,但这显示了一切:
SELECT DISTINCT
dbo.Model.ModelName AS AOC,
dbo.Chipset.Chipset,
dbo.FormFactor.FormFactor AS Form_Factor,
dbo.ProductRelease.ECO AS Release,
dbo.ProductRelease.Date AS Release_Date,
dbo.Intel.FWVersion AS FW_Version,
dbo.Intel.ETRACKID
FROM
dbo.Intel
INNER JOIN dbo.ProductRelease ON dbo.Intel.ProductReleaseID = dbo.ProductRelease.ID
INNER JOIN dbo.Model ON dbo.ProductRelease.ModelID = dbo.Model.ID
INNER JOIN dbo.FormFactor ON dbo.Model.FormFactorID = dbo.FormFactor.ID
INNER JOIN dbo.Chipset ON dbo.Intel.ControllerID = dbo.Chipset.ControllerID AND dbo.Intel.ChipsetID = dbo.Chipset.ID
ORDER BY
dbo.Model.ModelName,
dbo.Intel.FWVersion DESC,
dbo.ProductRelease.Date DESC
这是我的表列表,这些表是根据其相应的 ID 加入的
表 1:型号
ID (Primary Key)
ModelName nvarchar(50)
FormFactorID int
表 2:外形尺寸
ID (Primary Key)
FormFactor nvarchar(15)
表 3:产品发布
ID (Primary Key)
ModelID int
Date date
ECO nvarchar(10)
表 4:英特尔
ID (Primary Key)
ProductReleaseID int
ChipsetID int
FWVersion nvarchar(10)
ETRACKID nvarchar(15)
表 5:芯片组
ID (Primary Key)
Chipsetnvarchar(20)
解决方案
一种方法使用窗口函数:
SELECT *
FROM (
SELECT
dbo.Model.ModelName AS AOC,
dbo.Chipset.Chipset,
dbo.FormFactor.FormFactor AS Form_Factor,
dbo.ProductRelease.ECO AS Release,
dbo.ProductRelease.Date AS Release_Date,
dbo.Intel.FWVersion AS FW_Version,
dbo.Intel.ETRACKID,
ROW_NUMBER() OVER(PARTITION BY dbo.Model.ModelName ORDER BY dbo.ProductRelease.Date DESC) rn
FROM
dbo.Intel
INNER JOIN dbo.ProductRelease ON dbo.Intel.ProductReleaseID = dbo.ProductRelease.ID
INNER JOIN dbo.Model ON dbo.ProductRelease.ModelID = dbo.Model.ID
INNER JOIN dbo.FormFactor ON dbo.Model.FormFactorID = dbo.FormFactor.ID
INNER JOIN dbo.Chipset ON dbo.Intel.ControllerID = dbo.Chipset.ControllerID AND dbo.Intel.ChipsetID = dbo.Chipset.ID
) t
WHERE rn = 1
ORDER BY AOC
推荐阅读
- excel - PowerQuery中#table和#records的#list之间的区别
- swift - Swift Xcode 11 条件断点不起作用
- python-3.x - 在特定值范围内的列中填充 NaN 值
- javascript - 使用 drive.files.list 时,Google drive API 找不到我的文件夹
- sql-server - SSRS 单一报告提示用户/通过
- python - Pandas Dataframe 在 groupby 之后计算额外的列
- types - 内在类型与原始非内在类型
- javascript - 在 React 中禁用按钮 onClick 但仅对 Index 中的一个元素
- python - 带有证书 SSLv3 的 URLLib 警报握手失败
- flutter - 颤振倒计时