Oracle SQL:计算具有特定值的行数

时间:2013-11-20 08:29:40

标签: sql oracle

我有一张这样的表:

ID | AGE 
--------
 1 | 27
 2 | 24
 1 | 25
 4 | 25
 1 | 25
 5 | 25
 5 | 25
...|...

正如您所看到的,ID和AGE并不是唯一的(第二个ID是唯一的,但这与此无关)。

我想返回具有多个特定值的所有不同ID:例如,计算具有多个AGE = 25的所有ID;在上表中,这应该产生[1,5],(ID = 4不计算因为25只发生一次; ID = 1且ID = 5 IS包括因为25在AGE中多次出现)。

基本上我想要的无效SQL:

SELECT DISTINCT id FROM table WHERE count(AGE = 25) > 1

不幸的是,count(AGE = 25)无效。我如何在SQL中写出来?

1 个答案:

答案 0 :(得分:3)

你想要这样的东西吗?

SELECT 
 ID, COUNT(ID)
FROM table
WHERE Age = 25
GROUP BY ID
HAVING COUNT(ID) > 1