我很难知道两个或多个单元格是否具有相同的值。例如:列包含作者姓名,另一列包含居住城市..我想知道居住在同一城市的作者姓名..所以我想检查城市列以了解是否有相同的城市或不是,但我不知道语法.. :)
select authors.au_fname , authors.au_lname ,city -- to present the first & last name of author
from authors
Where -- I don't know the condition here
select a1.au_fname , a1.au_lname, a2.au_fname , a2.au_lname, city
from authors a1 inner join authors a2 on a1.id <> a2.id
where a1.city= a2.city
解释:
必须比较两个作者的每个组合,因此该表在不同的主键上与自身连接(我假设authors.id
)。最后,where
只输出居住在同一城市的作者的状态,过滤掉不居住在同一城市的作者巴黎。
我想你只想按城市排序:
select authors.au_fname , authors.au_lname ,city -- to present the first & last name of author
from authors
order by city
如果您只想选择拥有 2 个或更多作者的城市,那么这里有一种适用于任何数据库的方法:
select authors.au_fname , authors.au_lname ,city -- to present the first & last name of author
from authors
where city in (select city from authors group by city having count(*) >= 2)
order by city