请考虑以下代码:
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
答案 0 :(得分:2)
SELECT *(SELECT ROW_NUMBER()OVER(PARTITION BY代码ORDER BY代码DESC,数据DESC)AS Row, ID,数据,代码 FROM @table)T T.Row = 1
答案 1 :(得分:0)
简短的回答是否定的。这是不可能的。