【发布时间】:2020-10-21 06:21:33
【问题描述】:
SELECT COUNT(*) FROM org_type_on_related_genre
WHERE genre_id = :deletedGenreId
and org_type_id IN
(SELECT org_type_id
FROM org_type_on_related_genre
GROUP BY org_type_id
HAVING count(*) > 1)
我需要进行相同的查询,但没有子查询!
我需要获取genre_id 等于 :deletedGenreId 的行数,并且此表中该行的 org_type_id 值不是唯一的
【问题讨论】:
-
为什么要去掉子查询?
-
优化器应该根据表中的数据提出一个最适合您的查询的计划,因此您应该真正担心如何编写查询,除非您有其他一些我们没有的约束不知道。
-
有人告诉我子查询的生产力很差。需要在没有子查询的情况下重做
标签: sql postgresql select count window-functions