在选择查询中隐藏列?
Posted
技术标签:
【中文标题】在选择查询中隐藏列?【英文标题】:HIDE Column in Select query? 【发布时间】:2020-05-29 03:57:48 【问题描述】:您好,我正在尝试隐藏在我的结果中显示的 TotalRank 列,因为我只需要在此查询中使用它来帮助对项目进行排序。我不需要显示此信息。
SELECT TOP 15 G.CharacterName, G.JobCode, G.PvPExp, D.PVPWin, D.PVPLose, D.PVPGiveUp, RANK() OVER (ORDER BY TotalRank ASC ) as TotalRank
FROM PvPRanking as G
INNER JOIN PVPScores as D
ON G.CharacterID = D.CharacterID
【问题讨论】:
你有top (15)
,没有order by
。因此查询返回不确定的结果。如果您不想要它,只需删除 rank()
。
【参考方案1】:
你可以使用下面的
SELECT TOP 15 G.CharacterName, G.JobCode, G.PvPExp, D.PVPWin, D.PVPLose, D.PVPGiveUp
FROM PvPRanking as G
INNER JOIN PVPScores as D
ON G.CharacterID = D.CharacterID
ORDER BY RANK() OVER (ORDER BY TotalRank ASC )
【讨论】:
【参考方案2】:您可以为结果表创建别名并从中选择除总排名列之外的所有内容。
SELECT t1.CharacterName, t1.JobCode, t1.PvPExp, t1.PVPWin, t1.PVPLose, t1.PVPGiveUp
FROM
(SELECT TOP 15 G.CharacterName, G.JobCode, G.PvPExp, D.PVPWin, D.PVPLose, D.PVPGiveUp,
RANK() OVER (ORDER BY TotalRank ASC ) as TotalRank
FROM PvPRanking as G
INNER JOIN PVPScores as D
ON G.CharacterID = D.CharacterID) AS t1
【讨论】:
以上是关于在选择查询中隐藏列?的主要内容,如果未能解决你的问题,请参考以下文章