Conditionally selecting two columns











up vote
0
down vote

favorite












Here's a Data in my spreadsheet:



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


How do I get the data for the following rule:



Get all the cities and countries, for which there is more than 1 unique combination of city+country. In other words, extract only those cities (along with respective countries), which have more than one country.



From the above data, I'm looking to get the following result:



LON  UK
LON CAN
LON USA


because LON is the only one which occurs more than 1 once in different countries.



Tried COUNTIF, UNIQUE, QUERY and none of them produce the result I hope for, because I know I'm not using them correctly.



Thank you.










share|improve this question




























    up vote
    0
    down vote

    favorite












    Here's a Data in my spreadsheet:



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


    How do I get the data for the following rule:



    Get all the cities and countries, for which there is more than 1 unique combination of city+country. In other words, extract only those cities (along with respective countries), which have more than one country.



    From the above data, I'm looking to get the following result:



    LON  UK
    LON CAN
    LON USA


    because LON is the only one which occurs more than 1 once in different countries.



    Tried COUNTIF, UNIQUE, QUERY and none of them produce the result I hope for, because I know I'm not using them correctly.



    Thank you.










    share|improve this question


























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      Here's a Data in my spreadsheet:



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


      How do I get the data for the following rule:



      Get all the cities and countries, for which there is more than 1 unique combination of city+country. In other words, extract only those cities (along with respective countries), which have more than one country.



      From the above data, I'm looking to get the following result:



      LON  UK
      LON CAN
      LON USA


      because LON is the only one which occurs more than 1 once in different countries.



      Tried COUNTIF, UNIQUE, QUERY and none of them produce the result I hope for, because I know I'm not using them correctly.



      Thank you.










      share|improve this question















      Here's a Data in my spreadsheet:



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


      How do I get the data for the following rule:



      Get all the cities and countries, for which there is more than 1 unique combination of city+country. In other words, extract only those cities (along with respective countries), which have more than one country.



      From the above data, I'm looking to get the following result:



      LON  UK
      LON CAN
      LON USA


      because LON is the only one which occurs more than 1 once in different countries.



      Tried COUNTIF, UNIQUE, QUERY and none of them produce the result I hope for, because I know I'm not using them correctly.



      Thank you.







      sql google-sheets google-sheets-query google-query-language






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 18 at 4:16









      MatBailie

      58.4k1373110




      58.4k1373110










      asked Nov 18 at 2:43









      FMFF

      82742151




      82742151
























          2 Answers
          2






          active

          oldest

          votes

















          up vote
          1
          down vote













          In SQL, you would get the list of such cities by doing:



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


          However, if you want the original rows, I would instead use exists:



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





          share|improve this answer




























            up vote
            0
            down vote













            You need to use QUERY function as



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


            where Col2 is case-sensitive and should be written as initcapped as this.






            share|improve this answer























              Your Answer






              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "1"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














               

              draft saved


              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53357426%2fconditionally-selecting-two-columns%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes








              up vote
              1
              down vote













              In SQL, you would get the list of such cities by doing:



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


              However, if you want the original rows, I would instead use exists:



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





              share|improve this answer

























                up vote
                1
                down vote













                In SQL, you would get the list of such cities by doing:



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


                However, if you want the original rows, I would instead use exists:



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





                share|improve this answer























                  up vote
                  1
                  down vote










                  up vote
                  1
                  down vote









                  In SQL, you would get the list of such cities by doing:



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


                  However, if you want the original rows, I would instead use exists:



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





                  share|improve this answer












                  In SQL, you would get the list of such cities by doing:



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


                  However, if you want the original rows, I would instead use exists:



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






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 18 at 4:16









                  Gordon Linoff

                  745k32285390




                  745k32285390
























                      up vote
                      0
                      down vote













                      You need to use QUERY function as



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


                      where Col2 is case-sensitive and should be written as initcapped as this.






                      share|improve this answer



























                        up vote
                        0
                        down vote













                        You need to use QUERY function as



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


                        where Col2 is case-sensitive and should be written as initcapped as this.






                        share|improve this answer

























                          up vote
                          0
                          down vote










                          up vote
                          0
                          down vote









                          You need to use QUERY function as



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


                          where Col2 is case-sensitive and should be written as initcapped as this.






                          share|improve this answer














                          You need to use QUERY function as



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


                          where Col2 is case-sensitive and should be written as initcapped as this.







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Nov 18 at 5:13

























                          answered Nov 18 at 4:10









                          Barbaros Özhan

                          11.2k71530




                          11.2k71530






























                               

                              draft saved


                              draft discarded



















































                               


                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53357426%2fconditionally-selecting-two-columns%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

                              Alcedinidae

                              RAC Tourist Trophy