0

私はMySQLの最初のテーブルの次の構造を持っています:

http://www.clubmadam.com/zadatak.jpg

MySQL の 2 番目のテーブルの構造:

http://www.clubmadam.com/country.jpg

各国の都市の数を数え、国内のすべての都市の人口を集計する SQL クエリが必要です。

これは私がこれまでに持っているものです:

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

MySQL でこれを処理できますか、それとも PHP も使用する必要がありますか? どうすればいいですか?

4

5 に答える 5

1

私が正しく理解している場合、このクエリは国に基づいて都市の数を示します。

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
于 2013-04-10T16:23:27.487 に答える
0

国コード内の都市の数を数える

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

国コード内のすべての都市の人口を要約する

@Mark Ba​​kerの回答を参照してください

于 2013-04-10T16:26:47.623 に答える
0
$upit = "SELECT COUNT(ID) AS cities, SUM(Population) AS population, ContryCode FROM table GROUP BY CountryCode";
$result = mysql_query($upit);
while ($data = mysql_fetch_object($result)) {
    // $data->cities is the number of cities and $data->population the sum of people and $data->CountryCode the country code
}
于 2013-04-10T16:23:40.800 に答える