Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取与聚合函数结果关联的属性_Sql_Sql Server - Fatal编程技术网

Sql 获取与聚合函数结果关联的属性

Sql 获取与聚合函数结果关联的属性,sql,sql-server,Sql,Sql Server,我有一个用于存储数组元素的表,这些元素属于一个框架,每个元素都有一个日期和一个注释(以及其他元素)。大概是这样的: MASTER_FRAME(K) ARRAY_ID(K) ARRAY_INDX(K) DATE COMMENT 1 1 1 27-08-2010 'List 1 Newer' 1 1 2 27-07-2010 'List 1

我有一个用于存储数组元素的表,这些元素属于一个框架,每个元素都有一个日期和一个注释(以及其他元素)。大概是这样的:

MASTER_FRAME(K) ARRAY_ID(K) ARRAY_INDX(K)  DATE   COMMENT
              1            1             1 27-08-2010   'List 1 Newer'
              1            1             2 27-07-2010   'List 1 Older'
              1            2             1 27-08-2010   'List 2 Newer'
              1            2             2 27-07-2010   'List 2 Older'
...
master\u框架
array\u id
indx
是表的主键。我需要得到一个给定帧的数组列表,每个数组都有包含最新日期的元素的索引和注释。例如,如果我查询
master\u frame=1
,我应该得到:

ARRAY_ID DATE  COMMENT
       1 27-08-2010 'List 1 Newer'
       2 27-08-2010 'List 2 Newer'
到目前为止,我可以通过查询获得我想要的大部分内容:

SELECT array_id, MAX(date)
FROM my_table
WHERE master_frame = 1
GROUP BY master_frame, array_id

然而,检索
注释
(或
数组_indx
)比我想象的要困难得多。有可能吗?如果可能,如何实现?

假设SQL Server 2005+

;WITH cte As
(
SELECT array_id, [date], comment,
ROW_NUMBER() OVER (PARTITION BY array_id ORDER BY [date] DESC) AS RN
FROM my_table
WHERE master_frame = 1
)

SELECT array_id, [date], comment
FROM cte 
WHERE RN=1;

假设SQL Server 2005+

;WITH cte As
(
SELECT array_id, [date], comment,
ROW_NUMBER() OVER (PARTITION BY array_id ORDER BY [date] DESC) AS RN
FROM my_table
WHERE master_frame = 1
)

SELECT array_id, [date], comment
FROM cte 
WHERE RN=1;

您想要哪个数组索引?如果有人使用最小值或最大值,您需要哪个数组索引?如果有人使用最小值或最大值。