我有这些关系:
station
(station_id, 纬度, 经度)
station_control_manager
(station_id, ctrl_unit_id)
问题
将中心城区的站点名称、编号和控制区总数制成表格,例如,纬度在 40.750 和 40.760 之间,经度在 -74.000 和 -73.95 之间。
这是我的查询
SELECT DISTINCT s.station_name, s.station_id, count
FROM station s,
(SELECT cm.station_id, COUNT(cm.station_id) as count
FROM stationcontrolmanager cm GROUP BY cm.station_id) sub_query
WHERE s.latitude >= 40.750
AND s.latitude <=40.760
AND s.longitude >= -74.000
AND s.longitude <= -73.95
GROUP BY s.station_id;
我通过分组station_id
计数并计算它重复的次数(通过重复,我们知道它有多少控制区域)。
相反,我有这个:
计数应该是 的数量ctrl_unit_id
,在这种情况下,它也是 的数量station_id
。但在 DB 中,我数的是 7 行,而不是 2 行。
当然,站名都是正确的。
我的 SQL 语句有问题吗?