$countryQuery = mysql_query("SELECT DISTINCT `country` FROM `general` ORDER BY `country` ASC");
$countryNumRows = mysql_num_rows($countryQuery);
echo "<h3>Countries: ".$countryNumRows."</h3>";
while($country = mysql_fetch_array($countryQuery)) {
echo $country[country]."<br>";
}
Це дає мені результат, як
Countries: 55
AL
AR
AT
AU
BE
BG
BH
BR
CA
...
...
...
Моє питання полягає в тому, що я можу відредагувати або додати до свого існуючого коду, щоб я отримав кількість, скільки разів країна з’являється в моїй базі даних?
наприклад
AL (13)
AR (4)
AT (49)
AU (36)
...
...
...
Відповіді:
0 для відповіді № 1Ви можете використовувати a group by
, щоб застосувати сукупну функцію, наприклад count
для кожної групи:
SELECT country, COUNT(*)
FROM general
GROUP BY country
0 для відповіді № 2
Використовуйте підрахунок та агрегуйте групування даних за назвою стану:
SELECT
`country`,
COUNT(`country`) as country_count
FROM `general`
GROUP BY `country`
ORDER BY `country` ASC
Як допоміжна записка mysql_*
функції застаріли, подивіться mysqli_*
.
0 для відповіді № 3
Використовуйте group by
, подобається це:
SELECT `country`, COUNT(*) FROM `general` GROUP BY `country` ORDER BY `country` ASC