我只是在学习SQL。我拥有的数据集如下所示:
city_name | work_place_name | min_commute_time | max_commute_time
-------------------------------------------------------------------
Austin CONGRESS 25 45
Austin NASA 10 12
Austin CIRCUS 16 35
CEDAR PARK CONGRESS 35 65
CEDAR PARK NASA 28 60
CEDAR PARK CIRCUS 26 55
KYLE CONGRESS 50 85
KYLE NASA 60 100
KYLE CIRCUS 60 100我正在努力弄清楚哪个城市的通勤时间将少于或等于30分钟,无论是国会还是美国宇航局。我想出了下面的查询,但是我没有得到我想要的结果。
SELECT city_name
FROM commute_times
WHERE min_commute_time<=30 AND (work_place_name='NASA' OR work_place_name='CONGRESS')我得到的结果是:
city_name
-----------
Austin
Austin
Cedar Park我希望的结果是:
City_name
-----------
Austin发布于 2018-06-27 02:12:27
你们关系很好。聚合将填充缺失的部分:
SELECT city_name
FROM commute_times
WHERE min_commute_time <= 30 AND
work_place_name IN ('NASA', 'CONGRESS')
GROUP BY city_name
HAVING COUNT(*) = 2;https://stackoverflow.com/questions/51053584
复制相似问题