我试图获得以dB为单位输入的国家总数。显然其中一些将是重复的,所以我不想要总行数,而是需要总国家数。例如:
Russia -> 5
USA -> 10
Canada -> 6
Mexico -> 12
在这个数据集中,我试图得到的总数是4.
现在我有这个问题:
$query = mysqli_query($con, "SELECT COUNT(id) AS countCnt, country FROM users GROUP BY country ORDER BY COUNT(id) DESC");
然后我迭代查询的值:
while($row = mysqli_fetch_assoc($query)) {
$country = $row['country'];
$countryCount = $row['countCnt'];
$countries[$country] = $countryCount;
}
$country_text = array_keys($countries);
$country_count = array_values($countries);
我如何从$country_text
返回国家总数?我想将这个数字分配给变量$ x。
任何帮助将不胜感激。
答案 0 :(得分:0)
由于您是GROUPING BY国家/地区,因此查询返回的行数将是国家/地区的数量。所以
$x = mysqli_num_rows($query);
答案 1 :(得分:0)
另一种方法是使用子查询来执行此操作:
SELECT COUNT(*) as total FROM(
SELECT COUNT(id) AS countCnt, country FROM users
GROUP BY country ORDER BY COUNT(id) DESC
)
答案 2 :(得分:-1)
http://php.net/manual/en/function.array-unique.php
$country_text = array_unique($countries);