仅显示SQL Server查询中的第一行
我只想在这个查询中显示第一行。但是,由于每个用户都有一个不同的服务,因此用户会出现不止一次。我只想在一个单独的查询中显示第一行,然后显示其他行。仅显示SQL Server查询中的第一行,sql,sql-server,tsql,Sql,Sql Server,Tsql,我只想在这个查询中显示第一行。但是,由于每个用户都有一个不同的服务,因此用户会出现不止一次。我只想在一个单独的查询中显示第一行,然后显示其他行。按“id”排序。 SELECT DISTINCT TOP (7) id, fname, lname, dob, services FROM T1 ORDER BY id 输出: id fname lname dob services -------------
按“id”排序。
SELECT DISTINCT TOP (7)
id,
fname,
lname,
dob,
services
FROM
T1
ORDER BY
id
输出:
id fname lname dob services
------------------------------------------
100 Joe Blue 2/20/2001 JDT
100 Joe Blue 2/20/2001 VOCP
101 Mark Pink 1/5/2000 OPAP
101 Mark Pink 1/5/2000 AARCHD
102 Wally Green 1/2/2000 AARCHD
102 Wally Green 1/2/2000 OPAP
103 Steve Yellow 1/10/2000 AARCHD
您可以按的顺序使用
行编号()
。但是,SQL表表示无序集。除非另一列指定排序,否则没有“第一行”
在这种情况下,我使用的是服务
,但我不确定这是否是您想要的:
SELECT TOP (1) WITH TIES t1.*
FROM T1
ORDER BY ROW_NUMBER() OVER (PARTITION BY id ORDER BY service);
这将显示不同的用户:
SELECT DISTINCT
fname,
lname,
dob
FROM
T1
ORDER BY
id
您使用的是哪种数据库管理系统?mysql sql server。你需要在这里提供一些细节。您发布的数据是示例数据、期望的输出还是您从查询中获得的数据?因此不要包括
服务。