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。。。。