SELECTAGE, STRING_AGG(Name,',') WITHINGROUP(ORDERBYNameASC)ASNameStringListFROMPersonGROUPBYAGE 通过WITHIN GROUP 还可以对结果再排序哦. 4. 遇上 DISTINCT 如果出来的结果想要 distinct 的话 Produce DISTINCT values in STRING_AGG Get unique values using STRING_AGG in SQL Server 如果不考虑性能的话, ...
SELECT ProjectID ,STRING_AGG(value, ',') WITHIN GROUP (ORDER BY value) AS NewField from ( select distinct ProjectId, newId.value FROM [dbo].[Data] WITH(NOLOCK) CROSS APPLY STRING_SPLIT([bID],';') AS newID WHERE newID.value IN ( 'O95833' , 'Q96NY7-2' ) ) x GROUP BY ProjectI...
1. 通过WITHIN GROUP 还可以对结果再排序哦. 4. 遇上 DISTINCT 如果出来的结果想要 distinct 的话 Produce DISTINCT values in STRING_AGG Get unique values using STRING_AGG in SQL Server 如果不考虑性能的话, 我觉得简单粗暴的方式就是直接 SPLIT 然后 DISTINCT 再 JOIN 回去....
使用WITHIN GROUP (ORDER BY ...): \n\n SELECT\nID, \n STRING_AGG(\xe2\x80\x8bTRY_CONVERT(varchar,Date,101) +': '+ Notes +\nCHAR(13) +CHAR(10) +CHAR(13),CHAR(10))\nWITHINGROUP(ORDERBYDateDESC)ASExpr1\xe2\x80\x8b\nFROM\n(\nSELECTDISTINCTac4.ID, nd.Notes, nd.Date\nFROM...
SELECT AGE, STRING_AGG(Name, ',') AS NameStringList FROM Person GROUP BY AGE 3. 再排序 SELECT AGE, STRING_AGG(Name, ',') WITHIN GROUP (ORDER BY Name ASC) AS NameStringList FROM Person GROUP BY AGE 通过 WITHIN GROUP 还可以对结果再排序哦.4. 遇上 DISTINCT 如果出来的结果想要 distinct...
- `WITHIN GROUP (ORDER BY expression)`:可选参数,指定按照指定的列或表达式对结果进行排序。 值得注意的是,SQL Server 2017及以上版本支持`DISTINCT`关键字以去重结果集。 举个例子,假设存在一个`Products`表,包含`ProductID`, `ProductName`, `Category`三个字段。如果我们需要按照`Category`分组并将同一`Categ...
接下来,当从多个表中进行查询时,您将DISTINCT针对单个列进行操作;这似乎是错误的。非常昂贵,并且您使用它的事实意味着要么不是唯一的,要么由于您的隐式s 您得到了重复的行。我认为是后者。因此,您很可能实际上应该使用 an ,而不是s。SELECTDISTINCTNAMEINNER JOINEXISTSLEFT JOINsINNER JOIN ...
--SQL 2022 SELECt x.ID, X.ROUTING , FixedRoute = (SELECT STRING_AGG(x.value, '-') FROM (select DISTINCT value from string_split(x.ROUTING, '-', 0)) x) FROM ( SELECT ID, STRING_AGG(ROUTE, '-') WITHIN GROUP (ORDER BY LNO) AS ROUTING FROM ( SELECT '1' ID, 'JFK-LAX' RO...
旁注:通常,使用DISTINCT而不知道为什么,是一个欠约束查询的标志,需要更仔细地研究。只有当您***真正...
from @table),dataas(select distinct Value from cte outer applystring_split(term,',')),returas(selectsubstring(Value,charindex('-',Value,1)+1,20)Value,left(Value,1)sort from data)selectstring_agg(quotename(Value),',')withingroup(order by sort desc)from retur ...