SQL查询:如何获取仅存在于加利福尼亚州的唯一城市名?
仅属于加利福尼亚州的唯一城市查询语句
你当前的SQL语句仅筛选出了加利福尼亚州的城市,但无法排除那些在其他州也存在的同名城市。以下是两种满足需求的查询方法:
方法一:使用NOT EXISTS子查询
通过子查询排除在其他州存在的同名城市:
SELECT DISTINCT city_name FROM your_table t1 WHERE t1.state = 'California' AND NOT EXISTS ( SELECT 1 FROM your_table t2 WHERE t2.city_name = t1.city_name AND t2.state != 'California' );
逻辑说明:外层查询获取加州的城市,子查询验证该城市是否在其他州有记录,若没有则保留该城市。
方法二:使用GROUP BY + HAVING分组统计
通过分组统计每个城市对应的州数量,筛选仅在加州出现的城市:
SELECT city_name FROM your_table GROUP BY city_name HAVING COUNT(DISTINCT state) = 1 AND MAX(state) = 'California';
逻辑说明:按城市名分组后,统计该城市关联的不同州数量为1,且唯一关联的州是加利福尼亚州,这样的城市即为仅在加州存在的城市。
内容的提问来源于stack exchange,提问作者brucemcmc
相关产品推荐
相关产品推荐

