小编典典

-count(col)> 1

sql

我有一个这样的表:

+-----+-----+-------+
| id  | fk  | value |
+-----+-----+-------+
| 0   | 1   | peter |
| 1   | 1   | josh  |
| 3   | 2   | marc  |
| ... | ... | ...   |

我现在想获取所有具有多个值的条目。预期结果将是:

+-----+-------+
| fk  | count |
+-----+-------+
| 1   | 2     |
| ... | ...   |

我试图做到这一点是这样的:

select fk, count(value) from table where count(value) > 1;

但是甲骨文不喜欢它。

所以我尝试了这个

select * from (
    select fk, count(value) as cnt from table
) where cnt > 1;

…没有成功。

有任何想法吗?


阅读 198

收藏
2021-04-07

共1个答案

小编典典

使用该having子句比较聚合。

另外,您需要根据要汇总的内容进行分组,以使查询正常运行。以下是一个开始,但是由于您缺少group by子句,因此仍然无法正常工作。您到底想算什么?

select fk, count(value) 
from table 
group by fk
having count(value) > 1;
2021-04-07