我有一个这样的表:
+-----+-----+-------+ | 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;
…没有成功。
有任何想法吗?
使用该having子句比较聚合。
having
另外,您需要根据要汇总的内容进行分组,以使查询正常运行。以下是一个开始,但是由于您缺少group by子句,因此仍然无法正常工作。您到底想算什么?
select fk, count(value) from table group by fk having count(value) > 1;