【发布时间】:2017-08-04 00:28:05
【问题描述】:
col1 col2 col3
100 FRANCE 201604
100 FRANCE 201604
100 AUSTRALIA 201605
200 MALAYSIA 201604
300 IRELAND 201604
300 IRELAND 201605
400 SPAIN 201604
500 FRANCE 201604
500 MEXICO 201604
我正在尝试根据 col2 和 col3 的条件从 col1 获取数据。我想从 col1 中消除与 col2 没有明显组合的所有值。在我的情况下,100 和 500 将被淘汰。
现在我想看看每个月是否有 200,300、400 (col3)(201604 和 201605),所以只会出现 300。
我试过了
select c1,count(*),c3 from
(
SELECT distinct col1 c1, col2 c2, col3
FROM table
) group by c1,c3 having count(*)=1;
【问题讨论】:
-
一般 GROUP BY 规则说:如果指定了 GROUP BY 子句,则 SELECT 列表中的每个列引用必须标识一个分组列或者是一个集合函数的参数。