首页 > 解决方案 > 检查 where 子句中的计数值 - PostgreSQL

问题描述

假设我有以下表结构:

create table sometable (id serial, name varchar(20), Delete_Flag smallint);

带有以下条目:

 id | name | delete_flag
----+------+-------------
  1 | AA   |           1
  2 | BB   |           1

是否可以编写查询来检查 sometable 中的总条目数是否为 2 并且这两个条目的名称 = ' AA ' 和' BB '?不想写函数,只想写一个简单的查询。

就像返回TRUE如果某个表的 count(*) =2 并且名称在 ('AA','BB')

否则返回FALSE

谢谢

标签: sqlpostgresqlselect

解决方案


你可以写:

select (array_agg(name order by name) = array['AA', 'BB']) as flag
from sometable t

推荐阅读