SELECT COUNT(*) FROM ( SELECT org_no, COUNT(*) AS cnt FROM your_table GROUP BY org_no HAVING SUM(DI_SUM > 15) ) t
时间: 2024-05-20 14:13:05 浏览: 19
这是一个 SQL 查询语句,用于统计一个表中满足条件的记录数。具体来说,这个语句会按照 org_no 字段进行分组,统计每个分组中 DI_SUM 大于 15 的记录数,然后筛选出满足条件的分组,最后返回满足条件的分组数目。
如果你想执行这个查询语句,需要将其中的 "your_table" 替换成你要查询的表名。
相关问题
计算出总数 SELECT COUNT(*) cnt FROM school_news WHERE classify="升学咨询" UNION ALL SELECT COUNT(*) cnt FROM question WHERE classify="升学咨询";
您的 SQL 查询语句是正确的,可以计算出两个表中分类为“升学咨询”的数据行数之和。其中,UNION ALL 操作符表示将两个 SELECT 语句的结果集合并在一起,保留重复行。
具体解释如下:
```
SELECT COUNT(*) cnt FROM school_news WHERE classify="升学咨询"
```
这条 SQL 语句查询了 school_news 表中分类为“升学咨询”的数据行数,结果集中只包含一列,即 cnt,表示符合条件的数据行数。
```
UNION ALL
```
这个操作符表示将两个 SELECT 语句的结果集合并在一起,保留重复行。
```
SELECT COUNT(*) cnt FROM question WHERE classify="升学咨询"
```
这条 SQL 语句查询了 question 表中分类为“升学咨询”的数据行数,结果集中只包含一列,即 cnt,表示符合条件的数据行数。
综合以上三条语句,可以得到如下结果:
```
cnt
---
120
98
```
其中,“---”表示表格分隔线。结果集包含两行,分别表示 school_news 表和 question 表中分类为“升学咨询”的数据行数之和。
select pro_c_id from ( select pro_c_id, count(pro_c_id) as cnt1, cnt2 from ( select pro_c_id, pro_pif_id, ( select count(*) from ( select pro_pif_id from property where pro_type = 1 group by pro_pif_id having count(distinct(pro_c_id)) > 2 ) as t1 ) as cnt2 from property as p natural join ( select pro_pif_id from property where pro_type = 1 group by pro_pif_id having count(distinct(pro_c_id)) > 2 ) as t2 where pro_type = 1 order by pro_c_id ) as t3 group by pro_c_id ) as t4 where cnt1 = cnt2
这是一个SQL语句,用于查询拥有至少三个不同产品的公司的ID。具体的查询条件是:
首先从属性表中选择属性类型为1的记录,并计算每个产品被多少个公司所拥有,将结果作为t1表。然后从t1表中选择拥有至少三个不同公司的产品ID,将结果作为t2表。
接下来从属性表中选择属性类型为1的记录,并将其与t2表进行自然连接操作,得到拥有t2表中产品的属性记录,将结果作为t3表。在t3表中,根据公司ID进行分组,并计算每个公司拥有的属性记录数量和t2表的记录数量,将结果作为t4表。
最后在t4表中,选择属性记录数量等于t2表记录数量的公司,并返回它们的ID。