在postgresql中,having子句与group by子句组合使用,用于选择函数结果满足某些条件的特定行。
语法:
select column1, column2
from table1, table2
where [ conditions ]
group by column1, column2
having [ conditions ]
order by column1, column2
示例1:
我们来看一下表“employees
”,具有以下数据。
在这个例子中,它将显示名称(name
)数量小于2
的记录。
执行以下查询:
select name
from employees
group by name having count (name) < 2;
得到结果如下 -
示例2:
我们在“employees
”表中插入一些重复的记录,首先添加以下数据:
insert into employees values (7, 'minsu', 24, 'delhi', 135000);
insert into employees values (8, 'manisha', 19, 'noida', 125000);
现在完整的数据如下所示 -
执行以下查询表“employees
”中name
字段值计数大于1
的名称。
select name,count (name)
from employees
group by name having count (name) > 1;
得到结果如下 -
这是因为名字为 minsu
和 manisha
有两条记录。