【问题标题】:Selecting min value of a group with id选择具有 id 的组的最小值
【发布时间】:2012-09-01 06:23:03
【问题描述】:

考虑以下代码:

DECLARE @table AS TABLE
  (
    id INT IDENTITY ,
    DATA VARCHAR(100) ,
    code CHAR(1)
  )

INSERT  INTO @table
        ( data, code )
VALUES  ( 'xasdf', 'a' ),
        ( 'aasdf', 'a' ),
        ( 'basdf', 'a' ),
        ( 'casdf', 'b' ),
        ( 'Casdf', 'c' ),
        ( NULL, NULL )

我需要获得按代码分组的最少数据行。我可以在没有嵌套查询的情况下执行此操作吗?

基本上,我想要的是这样的:

SELECT TOP ( 1 )
        id ,
        MIN(data)
FROM    @table
GROUP BY code 

【问题讨论】:

    标签: select group-by min


    【解决方案1】:

    选择 * (选择 ROW_NUMBER() OVER(PARTITION BY code ORDER BY code DESC,data DESC) AS Row, ID,数据,代码 FROM @table) T 其中 T.Row = 1

    【讨论】:

      【解决方案2】:

      简短的回答是否定的。这是不可能的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-08-10
        • 2021-07-30
        • 1970-01-01
        • 1970-01-01
        • 2019-10-03
        • 2017-12-17
        • 1970-01-01
        相关资源
        最近更新 更多