San*_*tha 5 sql t-sql sql-server
我在sql server中有一个表,其中有一些值.例如如下,
StationId
-----
3
11
4
Run Code Online (Sandbox Code Playgroud)
我写了一个如下查询,
select STUFF((SELECT distinct (',' + QuoteName(c.StationId))
FROM Analytics c
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
Run Code Online (Sandbox Code Playgroud)
输出如下:
[11],[3],[4]
Run Code Online (Sandbox Code Playgroud)
现在我的要求是我需要输出为[3],[4],[11]
.所以当重写查询时
select STUFF((SELECT distinct (',' + QuoteName(c.StationId))
FROM Analytics c ORDER BY c.StationId
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
Run Code Online (Sandbox Code Playgroud)
我正在低于例外
如果指定了SELECT DISTINCT,则ORDER BY项必须出现在选择列表中.
请给我一些建议.
Tar*_*ryn 12
您可以通过删除DISTINCT
并添加a GROUP BY
来使用以下内容来更改代码ORDER BY
:
select STUFF((SELECT (',' + QuoteName(c.StationId))
FROM Analytics c
group by c.StationId
ORDER BY c.StationId
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10406 次 |
最近记录: |