我有一个相当大的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;
我确实认为有更好的方法来实现这一点,也许直接用sql语句?
一如既往地感谢您的回复。
答案 0 :(得分:8)
你有大多数正确的选择语句,你只需让MySQL为你做计数:
SELECT COUNT(DISTINCT country)
FROM table
答案 1 :(得分:1)
SELECT country,COUNT(country)FROM table GROUP BY country
答案 2 :(得分:0)
SELECT country, COUNT(*) AS count
FROM table
GROUP BY country