Mysql 请提供一个SQL脚本,查询表中城市大于或等于6的人

Mysql 请提供一个SQL脚本,查询表中城市大于或等于6的人,mysql,sql,sql-server,Mysql,Sql,Sql Server,下面是ABC数据库中的客户表。 人员表: 目标是提供一个SQL脚本来查询表中出现的城市大于或等于>=6的人 例如: 居住在新加坡的人数是10人 住在香港的人数是5 住在洛杉矶的人数是6` 所以在这个例子中,输出应该是所有居住在新加坡和洛杉矶的人 我的结果可能是: SELECT * FROM Person WHERE (SELECT City FROM Person GROUP BY City)>6 也许有什么不对劲。希望有人能帮助我。谢谢。您可以将其中一种反连接模式与临时表一起使用,其

下面是ABC数据库中的客户表。 人员表:

目标是提供一个SQL脚本来查询表中出现的城市大于或等于>=6的人

例如:

居住在新加坡的人数是10人

住在香港的人数是5

住在洛杉矶的人数是6`

所以在这个例子中,输出应该是所有居住在新加坡和洛杉矶的人

我的结果可能是:

SELECT * FROM Person WHERE (SELECT City FROM  Person GROUP BY City)>6

也许有什么不对劲。希望有人能帮助我。谢谢。

您可以将其中一种反连接模式与临时表一起使用,其中列出了符合您条件的城市:

SELECT p.* 
FROM Person p 
LEFT JOIN ( SELECT City 
            FROM Person 
            GROUP BY City 
            HAVING COUNT(*) >= 6
) t ON t.City = p.City
WHERE t.City IS NOT NULL

我已经使用COUNT函数计算了表中每个城市的发生率,我使用该函数得到了您想要的结果,该结果输出了发生率为6及以上的城市。请尝试我的查询:

SELECT 
      ID,
      Name,
      Salary,
      A.City 
FROM Person
LEFT JOIN
    (SELECT City,Count(City) CityCount FROM Person GROUP BY City)B 
ON A.City=B.City WHERE CityCount >= 6

我们不是来为你工作的。请编写您自己的代码或让我们知道您支付了多少。请查看Count、group by和Have Clause Select*from Person,其中Select City from Person group by City Have Count*>6?顺便说一句,您的RDBMS是什么?
SELECT 
      ID,
      Name,
      Salary,
      A.City 
FROM Person
LEFT JOIN
    (SELECT City,Count(City) CityCount FROM Person GROUP BY City)B 
ON A.City=B.City WHERE CityCount >= 6