我希望这条语句返回有两个以上站点的系统,我已经走到这一步了,但我不知道下一步该怎么做。所有这些都会返回 regionID 小于 1100001 的每个系统。至少我的想法是正确的吗?
SELECT DISTINCT mapSolarSystems.regionID,solarSystemID,solarSystemName,x,z,security
FROM mapSolarSystems
WHERE mapSolarSystems.regionID <11000001
AND
2 < (SELECT COUNT(*) FROM stations,mapSolarSystems
WHERE mapSolarSystems.solarSystemID=stations.systemid)
最佳答案
看看这个是否有效:
SELECT DISTINCT mapSolarSystems.regionID,solarSystemID,solarSystemName,x,z,security
FROM mapSolarSystems m
join stations s on m.solarSystemID = s.systemid
WHERE mapSolarSystems.regionID <11000001
AND select COUNT(*) FROM stations >2
或者像这样:
SELECT DISTINCT
mapSolarSystems.regionID,solarSystemID,solarSystemName,x,z,security
FROM mapSolarSystems m
join (select sistemId ,count(systemid) from station group by sistemId having
count(sistemId) > 2) X on m.solarSystemID = X.systemid
WHERE mapSolarSystems.regionID <11000001
关于mysql - SQL 语句中的 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47643137/