Tsql 在表中加载了多个文件,现在要查找最小值和最大值来自哪个文件

Tsql 在表中加载了多个文件,现在要查找最小值和最大值来自哪个文件,tsql,sql-server-2019,Tsql,Sql Server 2019,我在SQL Server中加载了多个文件 比方说 现在 我想编写SQL查询来查找哪个文件具有该最小值(COL_C)和最大值(COL_C)。正如您所看到的,我正在表中存储文件名 这里有一种可能的方法可以获得结果,使用apply将每个聚合值关联回同一个表以查找该值的文件名,如果存在关联,则使用string\u agg生成一个删除列表 select * from ( select COL_A, Min(COL_C) MinColC,Max(COL_C) MaxColC from T

我在SQL Server中加载了多个文件

比方说

现在

我想编写SQL查询来查找哪个文件具有该最小值(COL_C)和最大值(COL_C)。正如您所看到的,我正在表中存储文件名


这里有一种可能的方法可以获得结果,使用
apply
将每个聚合值关联回同一个表以查找该值的文件名,如果存在关联,则使用
string\u agg
生成一个删除列表

select * from (
    select COL_A, Min(COL_C) MinColC,Max(COL_C) MaxColC
    from T
    group by COL_A
)x
outer apply (
    select string_agg([filename], ', ') sMinFilename
    from T
    where T.COL_A=x.COL_A and T.COL_C=x.MinColC
)mn
outer apply (
    select string_agg([filename], ', ') MinFilename
    from T
    where T.COL_A=x.COL_A and T.COL_C=x.MaxColC
)mx

那么你的问题是什么?是什么阻止你实现你想要的?此外,指向文本图像的超链接也没有帮助。以文本形式发布文本。在您的问题中,有多种方法可以将数据格式化为表格格式。如果每个文件都有相同的最大值或最小值,您将如何处理这种情况?对于Lamu:我想找出我的最小值(COL_C)和最大值(COL_C)对于斯图来说:如果最小值和最大值来自多个文件,这对我来说很好。我确信这很好-但是看看你想要结果的图像,你可能会期望相同的列A值有两行。
select * from (
    select COL_A, Min(COL_C) MinColC,Max(COL_C) MaxColC
    from T
    group by COL_A
)x
outer apply (
    select string_agg([filename], ', ') sMinFilename
    from T
    where T.COL_A=x.COL_A and T.COL_C=x.MinColC
)mn
outer apply (
    select string_agg([filename], ', ') MinFilename
    from T
    where T.COL_A=x.COL_A and T.COL_C=x.MaxColC
)mx