在数据库中计算相等值的最佳实践是什么?

0pl*_*us1 0 php mysql

我有一个相当大的mysql数据库,我想计算所有相等的值,以更好地解释自己:

我有一个国家领域有几个国家的价值观(美国,英国,墨西哥......等).我想得到没有重复的国家数量(如果我有100个美国和2个英国和1000个MEX,结果将是3) .

我能想到的唯一方法是:

$i="0";
$query = "SELECT DISTINCT country FROM table"; 
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$i++;
}
echo $i;
Run Code Online (Sandbox Code Playgroud)

我真的认为有更好的方法来实现这一点,也许直接提出一个sql语句?

一如既往地感谢您的回复.

Wel*_*bog 8

你有大多数正确的选择语句,你需要让MySQL为你做计数:

SELECT COUNT(DISTINCT country)
FROM table
Run Code Online (Sandbox Code Playgroud)