期望 SELECT COUNT(DISTINCT country) 到 return 46 但只得到 1
Expecting SELECT COUNT(DISTINCT country) to return 46 but getting only 1
我在 PHP 中做了一个简单的函数。
它在会员数据库中寻找不同的国家。
有46个(手数),但是函数只返回1个
我是不是做错了什么?
function getCountryCount(){
$construct = "SELECT COUNT(DISTINCT country) FROM members2";
$run = mysql_query($construct);
$count = mysql_num_rows($run);
return $count;
}
查询 return 的行数是一。因此,您得到的是正确的。
如果你想得到计数,那么不要 $count = mysql_num_rows($run);
而只是 return 结果。
如果您想获取所有不同的值(而不是不同值的计数),正确的查询将是:
SELECT DISTINCT(country) from members2;
因此,如果 members2
包含 100 行 country
值设置为 "Australia" 和 37 行值设置为 "USA",您将得到一个结果行说 "Australia" 和一个结果行说 "USA".
根据您的查询,您只会得到一个显示“2”的结果,因为 table
中有 2 个不同的国家/地区
我在 PHP 中做了一个简单的函数。
它在会员数据库中寻找不同的国家。
有46个(手数),但是函数只返回1个
我是不是做错了什么?
function getCountryCount(){
$construct = "SELECT COUNT(DISTINCT country) FROM members2";
$run = mysql_query($construct);
$count = mysql_num_rows($run);
return $count;
}
查询 return 的行数是一。因此,您得到的是正确的。
如果你想得到计数,那么不要 $count = mysql_num_rows($run);
而只是 return 结果。
如果您想获取所有不同的值(而不是不同值的计数),正确的查询将是:
SELECT DISTINCT(country) from members2;
因此,如果 members2
包含 100 行 country
值设置为 "Australia" 和 37 行值设置为 "USA",您将得到一个结果行说 "Australia" 和一个结果行说 "USA".
根据您的查询,您只会得到一个显示“2”的结果,因为 table
中有 2 个不同的国家/地区