SQL查询的问题

SQL查询的问题,sql,count,subquery,Sql,Count,Subquery,这应该是一个非常简单的问题,但不知为什么我完全被卡住了。。。这是一个简化的示例来说明问题: Table: int ID (primary key) varchar Child varchar Toy 运行 SELECT Child, Toy FROM TestTable 给我: Child Toy ------------------------ A T_A B T_B A T_C C T_D A T_E

这应该是一个非常简单的问题,但不知为什么我完全被卡住了。。。这是一个简化的示例来说明问题:

Table:
int     ID (primary key)
varchar Child
varchar Toy
运行

SELECT Child, Toy FROM TestTable
给我:

Child    Toy
------------------------
A        T_A
B        T_B
A        T_C
C        T_D  
A        T_E
B        T_F
我需要一个查询,该查询只为拥有2个以上玩具的儿童返回Child/Toy条目,在本例中仅返回一个。因此,输出应如下所示:

Child    Toy
------------------------
A        T_A
A        T_C
A        T_E

这会发现孩子们有两个以上的玩具:

select Child
from TestTable
group by Child
having count(*) > 2
然后,您可以执行此操作以取回所需的所有列:

select Child, Toy
from TestTable 
where Child in (
    select Child
    from TestTable
    group by Child
    having count(*) > 2
)

这会发现孩子们有两个以上的玩具:

select Child
from TestTable
group by Child
having count(*) > 2
然后,您可以执行此操作以取回所需的所有列:

select Child, Toy
from TestTable 
where Child in (
    select Child
    from TestTable
    group by Child
    having count(*) > 2
)
这个查询应该有效

SELECT
    Child,
    Toy
FROM TestTable t
WHERE
    t.Child IN 
    (
        SELECT Child
        FROM TestTable  
        GROUP BY Child
        HAVING COUNT(*) > 2         
    )   
这个查询应该有效

SELECT
    Child,
    Toy
FROM TestTable t
WHERE
    t.Child IN 
    (
        SELECT Child
        FROM TestTable  
        GROUP BY Child
        HAVING COUNT(*) > 2         
    )   

为了清晰起见,如果您可以指定正在编程的SQL的风格,那么这将非常有用。为了清晰起见,如果您可以指定正在编程的SQL的风格,那么这将非常有用,因为它实际上会找到具有多行的子级。OP应该被告知,这也将计算重复的玩具。+1:而且,我愿意加入,而不是使用。但这是同一个概念:)谢谢你的快速响应,但这并没有给我想要的输出。我需要输出中的'Child'和'Toy',所以选择Child,Toy….实际上它会找到多行的孩子。OP应该被告知,这也将计算重复的玩具。+1:而且,我愿意加入,而不是使用。但这是同一个概念:)谢谢你的快速响应,但这并没有给我想要的输出。我需要输出中的“Child”和“Toy”,所以选择Child,Toy。。。。