按出现次数返回表中的值

时间:2015-12-19 19:00:14

标签: sql postgresql select

假设我有一个这样的表:

id | name 
---+-----  
5  | aaa
6  | aba
7  | rrr
3  | aaa
2  | aad
1  | aaa
2  | aad

我想返回“名称”栏中出现的所有名称至少 k次以及此值出现的次数,即如果k = 1则我会得到:

name | num
-----+----
aaa  | 3
aba  | 1
rrr  | 1
aad  | 2

对于k = 3我会得到:

name | num
-----+----        
aaa  | 3

2 个答案:

答案 0 :(得分:2)

您可以在having子句中的SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) >= k 上设置条件:

objectType

答案 1 :(得分:1)

我尝试了以下几点:

SELECT COUNT (*)
FROM table
GROUP BY name
HAVING COUNT = k;

或> k或你喜欢的任何条件