gpt4 book ai didi

Sql Select Statement Issue in order by

转载 作者:行者123 更新时间:2023-12-04 22:01:12 28 4
gpt4 key购买 nike

我有一组记录排序(Order BY)ProductDesc,RecDate,然后是 ProductBrand它给了我以下结果。

-->> SQL是

SELECT RecDate, ProductDesc,ProductBrand
FROM MyTable i
Order BY i.ProductDesc, i.RecDate,i. ProductBrand

--

RecDate     ---     ProductDesc                ---       Brand
--------------------------------------------------------------
2017-07-15 --- TOMATO ROMA --- (S & S)
2017-07-16 --- TOMATO ROMA --- (A & B)
2017-07-17 --- TOMATO ROMA --- (C & D)
2017-07-18 --- TOMATO ROMA --- (AAA)
2017-07-25 --- TOMATO ROMA --- (C & D)
2017-07-26 --- TOMATO ROMA --- (C & D)

但我的要求是按 ASC 中的 ProductDesc、RecDate 排序显示这些记录,然后如果有相同品牌的相同产品(如“TOMATE ROMA (C & D)”)但接收日期不同,它需要将这些组合在一起。排序后的数据应该如下所示

    RecDate     ---     ProductDesc                ---       Brand
----------------------------------------------------------------
2017-07-15 --- TOMATE ROMA --- (S & S)
2017-07-16 --- TOMATE ROMA --- (A & B)
2017-07-17 --- TOMATE ROMA --- (C & D)
2017-07-25 --- TOMATE ROMA --- (C & D)
2017-07-26 --- TOMATE ROMA --- (C & D)
2017-07-18 --- TOMATE ROMA --- (AAA)

关于我如何完成这个的任何建议?注意:我正在使用 SQL SERVER,运行 sql 填充数据表,并用该数据表填充数据 GridView 。

最佳答案

您想按品牌日期的最小值排序。您可以在 order by 子句中使用窗口函数来执行此操作:

select RecDate, ProductDesc, ProductBrand
from MyTable i
order by i.ProductDesc,
min(i.RecDate) over (partition by i.ProductBrand),
i.ProductBrand,
i.RecDate;

关于Sql Select Statement Issue in order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44891401/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com