【问题标题】:how to select 2 records from a group in sqlserver [closed]如何从sqlserver中的组中选择2条记录[关闭]
【发布时间】:2013-09-09 13:19:33
【问题描述】:

我有两个表:第一个是父表,第二个是子表。我想从子表中选择所有父 id 的 2 条记录。

如何选择每个父母的唯一 2 条记录。

example :
parent table
parent_id group_name
1  first
2  second

child table
child_id parent_id name
1        1         'test1'
2        2         'test2'
3        1         'test3'

我已经尝试过 with 语句,但我发现所有父 ID 中只有一行

【问题讨论】:

    标签: sql-server linq


    【解决方案1】:
     WITH cte AS    
    (    
       SELECT  ROW_NUMBER() OVER (PARTITION BY p.parent_Id ORDER BY c.name DESC) AS rn,c.child_id, p.group_name,c.name    
       FROM parent as p join child as c on p.parent_Id=c.parent_id
    ) 
    
    
    SELECT *    
    FROM cte    
    WHERE rn <3   
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多