【问题标题】: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()

标签: sql sql-order-by window-functions


【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-05
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      • 2017-08-10
      相关资源
      最近更新 更多