Vik*_*ram 2 sql sorting distinct sql-server-2008
我有下表:
CREATE TABLE [dbo].[TableB](
[id] [int] NULL,
[FileName] [varchar](20) NULL
)
INSERT INTO [TableB] ([id],[FileName])VALUES(1,'File2')
INSERT INTO [TableB] ([id],[FileName])VALUES(2,'File1')
INSERT INTO [TableB] ([id],[FileName])VALUES(3,'File1')
Run Code Online (Sandbox Code Playgroud)
当我做一个简单的SELECT,它给出以下结果:
id FileName
----------- --------------------
1 File2
2 File1
3 File1
Run Code Online (Sandbox Code Playgroud)
但是,当我添加DISTINCT它时,它给出:
FileName
--------------------
File1
File2
Run Code Online (Sandbox Code Playgroud)
我不需要排序,我需要如下结果:
FileName
--------------------
File2
File1
Run Code Online (Sandbox Code Playgroud)
我正在研究SQL Server 2008.我想保持结果的原始顺序.
小智 7
假设您希望按照为每个FileName记录的第一个id排序结果,请尝试:
select FileName
from TableB
group by FileName
order by min(id)
Run Code Online (Sandbox Code Playgroud)