Mysql查询,PHP计数

Mysql查询,PHP计数,php,mysql,Php,Mysql,我有以下MySQL第一个表的结构: 第二个表的结构: 我需要一个SQL查询来计算每个国家和地区的城市数量 总结全国所有城市的人口 这就是我到目前为止所做的: $upit = "SELECT"; $rezultat = mysql_query($upit); { } MySQL可以处理这个问题吗,还是我也需要使用PHP?我该怎么做呢?这真的是SQL 101的东西,我建议你多阅读 SELECT CountryCode, COUNT(Name) as Cities,

我有以下MySQL第一个表的结构:

第二个表的结构:

我需要一个SQL查询来计算每个国家和地区的城市数量 总结全国所有城市的人口

这就是我到目前为止所做的:

$upit = "SELECT";
$rezultat = mysql_query($upit);
{
}

MySQL可以处理这个问题吗,还是我也需要使用PHP?我该怎么做呢?

这真的是SQL 101的东西,我建议你多阅读

SELECT CountryCode,
       COUNT(Name) as Cities,
       SUM(Population) as Population
  FROM <tablename>
 GROUP BY CountryCode
选择CountryCode,
把(名字)算作城市,
总和(总体)为总体
从…起
按国家代码分组

这是一个简单的MySQL聚合作业,使用
SUM()
COUNT()


如果我理解正确,此查询将提供基于国家的城市计数:

SELECT COUNT(*) AS CityCount, CountryCode, SUM(Population) AS CountryPopulation
FROM myTableName
GROUP BY CountryCode
根据您的评论,以下是如何跨多个表执行此操作:

SELECT City.COUNT(*) AS CityCount, Country.LocalName, City.SUM(Population) AS CountryPopulation
FROM City, Country
GROUP BY City.CountryCode

统计国家代码中的城市数量

$upit = "SELECT COUNT(DISTINCT CountryCode) FROM table_name
$num_rows = mysql_num_rows($upit);
echo "$num_rows Rows\n";
汇总国家代码中所有城市的人口

$upit = "SELECT COUNT(DISTINCT CountryCode) FROM table_name
$num_rows = mysql_num_rows($upit);
echo "$num_rows Rows\n";

参考@Mark Baker Answer

我想他想要按国家代码进行计数(#ESP中的城市,#UKR中的城市等)。按名称分组会给他重复的名称值。Txank mate这就像charm一样有效,你能再帮我一点吗,我只有一个表可以加入以获得所有结果。[链接]第一个表是城市,第二个表是国家,当有人问城市名称时,我需要知道该国有多少城市,以及所有城市的人口,txanks提前更新了答案。它应该可以工作,但如果你有问题,你可以问。
$upit = "SELECT COUNT(DISTINCT CountryCode) FROM table_name
$num_rows = mysql_num_rows($upit);
echo "$num_rows Rows\n";