【问题标题】:Selecting Highest rows选择最高行
【发布时间】:2020-06-12 22:03:21
【问题描述】:

请帮助我处理以下数据。应该怎么查询呢。

Name        Speed Tier     Usage
Andrew         200          5000
Andrew         100          2000
Luis           100          1000

我需要以显示使用率最高的名称的方式查询它。下面是例子

Name        Speed Tier     Usage
Andrew         200          5000
Luis           100          1000

【问题讨论】:

    标签: sql ssrs-2012


    【解决方案1】:

    使用相关子查询:

    select t.*
    from t
    where t.usage = (select max(t2.usage) from t t2 where t2.name = t.name);
    

    【讨论】:

      【解决方案2】:

      我只会使用 MAX 和 GROUP BY

      SELECT Name, Max([Speed Tier]), Max(Usage)
      FROM TableName
      GROUP BY Name
      ORDER BY Name
      

      或者如果你只想要一个价值最高的人

      SELECT TOP 1 Name, [Speed Tier], Usage
      FROM TableName
      GROUP BY Name
      ORDER BY [Usage] desc
      

      或者,如果您想要最高的使用率以及当前行的速度

      ;with CTE as (SELECT TOP 1 Name, Max(Usage) as Usage
      FROM @mytable
      GROUP BY Name
      Order by Usage desc
      )
      select 
          T.name, T.[Speed Tier], T.usage
      from cte as C
      inner join @mytable as T on T.Name = C.name and T.usage = C.Usage
      

      【讨论】:

        【解决方案3】:

        我会通过MAXGROUP 做到这一点:

        SELECT Name, Max(Usage)
        FROM YourTableName
        GROUP BY Name
        

        【讨论】:

          【解决方案4】:
          SELECT TOP 1 Name
              ,Usage
          FROM your TABLE
          ORDER BY Usage DESC -- if you want the highest
          
          SELECT TOP X Name
              ,Usage
          FROM your TABLE
          ORDER BY Usage DESC -- if you want to select the top X rows
          
          SELECT Name
              ,MAX(Usage) Usage 
          FROM your TABLE
          GROUP BY Name -- if you want to know each Name's highest usage 
          

          【讨论】:

          • 你认为我是否可以使用 max 函数。因为,我只展示了一个例子。我有很多这样的行。我只需要使用率最高的名称
          • 那么您希望每个名称的使用率最高?
          猜你喜欢
          • 2011-08-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-12
          • 2018-12-01
          • 2017-01-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多