在此处输入图像描述我想获取 1,3,4,因为它们的 tiv_2015 值多次出现,但我只得到 1。
帮助有需要的人了解在having子句之后select是如何工作的。
按 tiv_2015 从保险组中选择 pid
计数(*) > 1
我也尝试过不使用group by,仍然有1个回来。 从保险中选择pid 计数(tiv_2015) > 1
然后我尝试了下面并得到 10 回来。那么我应该选择出现在 group by 或having 子句中的列并使用外部查询来获取我想要的 pid 吗? 从保险中选择 tiv_2015 计数(tiv_2015) > 1
首先,获取所需的 tiv 值列表,然后获取匹配的 pid:
SELECT pid FROM insurance
WHERE tiv_2015 in
(SELECT tiv_2015 FROM insurance GROUP BY tiv_2015 HAVING COUNT(*) > 1);
输出:
1
3
4