我不知道如何使用 string_agg 进行排序

pek*_*eka 2 string-aggregation

我有这个查询(我正在使用 SQL Server 2019)并且工作正常(将日期和注释合并到一列中)。但是,我正在寻找的结果是首先显示最新日期。\n在此输入图像描述

\n\n

我怎样才能从这个查询中实现这一点?

\n\n
SELECT ID,            \n\n\xe2\x80\x8b(SELECT string_agg(\xe2\x80\x8bconcat(Date, \': \', Notes), CHAR(13) + CHAR(10) + CHAR(13) + CHAR (10)) as Expr1\xe2\x80\x8b\n\n    FROM(SELECT DISTINCT nd.Notes, nd.Date\n    FROM dbo.ReleaseTrackerNotes AS nd \n    INNER JOIN dbo.ReleaseTracker AS ac4 ON ac4.ID = nd.ReleaseTrackerID\n    WHERE (ac4.ID = ac.ID)) AS z_1) AS vNotes \n\nFROM dbo.ReleaseTracker AS ac\n\nGROUP BY ID\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

我已经尝试过 ORDER BY 但不起作用\n这是我的表格:

\n\n
CREATE TABLE [dbo].[ReleaseTrackerNotes](\n    [ID] [int] IDENTITY(1,1) NOT NULL,\n    [ReleaseTrackerID] [int] NULL,\n    [AOC_ModelID] [int] NULL,\n    [Date] [date] NULL,\n    [Notes] [nvarchar](800) NULL,\n CONSTRAINT [PK_ReleaseTrackerNotes] PRIMARY KEY CLUSTERED \n
Run Code Online (Sandbox Code Playgroud)\n\n
CREATE TABLE [dbo].[ReleaseTracker](\n    [ID] [int] IDENTITY(1,1) NOT NULL,\n    [AOC_ModelID] [int] NOT NULL,\n    [MotherboardID] [int] NOT NULL,\n    [StatusID] [int] NOT NULL,\n    [TestCateoryID] [int] NULL,\n    [TestTypeID] [int] NULL,\n    [DateStarted] [date] NULL,\n    [DateCompleted] [date] NULL,\n    [LCS#/ORS#] [nvarchar](20) NULL,\n    [ETCDate] [date] NULL,\n    [CardsNeeded] [nvarchar](2) NULL,\n CONSTRAINT [PK_Compatibility] PRIMARY KEY CLUSTERED \n
Run Code Online (Sandbox Code Playgroud)\n

Tim*_*sen 5

使用WITHIN GROUP (ORDER BY ...)

\n\n
SELECT\n    ID,            \n    STRING_AGG(\xe2\x80\x8bTRY_CONVERT(varchar, Date, 101) + ': ' + Notes +\n               CHAR(13) + CHAR(10) + CHAR(13), CHAR(10))\n        WITHIN GROUP (ORDER BY Date DESC) AS Expr1\xe2\x80\x8b\nFROM\n(\n    SELECT DISTINCT ac4.ID, nd.Notes, nd.Date\n    FROM dbo.ReleaseTrackerNotes AS nd \n    INNER JOIN dbo.ReleaseTracker AS ac4\n        ON ac4.ID = nd.ReleaseTrackerID\n) AS vNotes\nGROUP BY ID;\n
Run Code Online (Sandbox Code Playgroud)\n