Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅显示SQL Server查询中的第一行_Sql_Sql Server_Tsql - Fatal编程技术网

仅显示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。你需要在这里提供一些细节。您发布的数据是示例数据、期望的输出还是您从查询中获得的数据?因此不要包括
服务。