mysql - SQL 语句中的 SQL 语句

标签 mysql sql

我希望这条语句返回有两个以上站点的系统,我已经走到这一步了,但我不知道下一步该怎么做。所有这些都会返回 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/

相关文章:

sql - 数据库中行不为空的所有表

php - 使用可能引发错误的 PHP 更新 Mysql 中的行

php对非对象上的成员函数prepare()的致命调用

mysql - 使用继承会提高类似查询的速度和可维护性吗?

mysql - 是否可以向 mysql 中的字段添加额外的列?

mysql - 基于组的每个用户的 Yii2 RBAC 多重分配

sql - 选择在 <x 天的时间段内重复出现

sql - 如何创建考虑匹配的查询,即使它有两个不同的字母

java - 相交在 HQL 中不起作用

sql - 比较两个表并找出列值的差异