【问题标题】:Conditionally selecting two columns有条件地选择两列
【发布时间】:2019-04-20 19:08:00
【问题描述】:

这是我电子表格中的数据:

colA   colB
NYC    USA
NYC    USA
ROC    USA
SEA    USA
YVR    CAN
YYZ    CAN
LON    UK
LON    CAN
LON    USA

如何获取以下规则的数据:

获取所有城市和国家,其中有超过 1 个独特的城市+国家组合。换句话说,只提取那些拥有多个国家的城市(以及相应的国家)。

根据以上数据,我希望得到以下结果:

LON  UK
LON  CAN
LON  USA

因为 LON 是唯一在不同国家/地区出现超过 1 次的 LON。

尝试了 COUNTIF、UNIQUE、QUERY,但它们都没有产生我希望的结果,因为我知道我没有正确使用它们。

【问题讨论】:

    标签: sql google-sheets google-sheets-query google-query-language


    【解决方案1】:

    在 SQL 中,您可以通过以下方式获取此类城市的列表:

    select city
    from t
    group by city
    having min(country) <> max(country);
    

    但是,如果您想要原始行,我会改用 exists:

    select city, country
    from t
    where exists (select 1 from t t2 where t2.city = t.city and t2.country <> t.country);
    

    【讨论】:

      【解决方案2】:

      你需要使用QUERY函数作为

      =QUERY("SELECT ColA, ColB WHERE Col1='colA'"
        QUERY(
             QUERY(
                   Data!A1:B10,
                  "SELECT colA, count(distinct ColB) GROUP BY ColA"
                  ), 
              "WHERE Col2 > 1")
            )
      

      Col2 区分大小写,应该写成 initcapped 这样。

      【讨论】:

        猜你喜欢
        • 2012-10-24
        • 2020-12-02
        • 2017-07-25
        • 2023-03-10
        • 2016-08-08
        • 2017-05-16
        • 2019-03-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多