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.
sql google-sheets google-sheets-query google-query-language
add a comment |
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.
sql google-sheets google-sheets-query google-query-language
add a comment |
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.
sql google-sheets google-sheets-query google-query-language
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
sql google-sheets google-sheets-query google-query-language
edited Nov 18 at 4:16
MatBailie
58.4k1373110
58.4k1373110
asked Nov 18 at 2:43
FMFF
82742151
82742151
add a comment |
add a comment |
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);
add a comment |
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.
add a comment |
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);
add a comment |
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);
add a comment |
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);
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);
answered Nov 18 at 4:16
Gordon Linoff
745k32285390
745k32285390
add a comment |
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
edited Nov 18 at 5:13
answered Nov 18 at 4:10
Barbaros Özhan
11.2k71530
11.2k71530
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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