Mysql 数一数表中有多少个不同的国家

Mysql 数一数表中有多少个不同的国家,mysql,sql,Mysql,Sql,我有一张这样的桌子: ID country ------------- 1 US 2 Japan 3 China 4 US 5 China 如何查询表,以便返回表中有多少不同的国家(即3个) 您需要的是选择独特国家的数量。这是通过选择所有国家/地区条目来完成的,然后对这些

我有一张这样的桌子:

   ID  country 
    -------------
    1       US            
    2       Japan           
    3       China           
    4       US          
    5       China          

如何查询表,以便返回表中有多少不同的国家(即3个)

您需要的是选择独特国家的数量。这是通过选择所有国家/地区条目来完成的,然后对这些条目进行分组,以便每个国家/地区名称只有一个国家/地区条目

从countrytable组中按国家选择计数(国家)


这与Andomars的回答基本相同。

从countrytable中选择count(不同国家)

以下SQL查询将计算表中唯一国家的数量

select  count(distinct country)
from    YourTable
选择计数(不同国家/地区) 来自表1

 SELECT count( DISTINCT country )
 FROM table1 c
 WHERE c.item_id = (
 SELECT main_id
 FROM table2
 WHERE main_id = c.item_id ) 
你可以用这个

SELECT country, COUNT( id ) 
   FROM [table_name] GROUP BY country
   LIMIT 0 , 30
输出:

 country count(id) 
---------------------
 US       2            
 Japan    1           
 china    2           

对于您更新的问题:使用where join:)如果您只坚持原来的问题(一次一个问题),那就太好了。您好@Mario,欢迎使用SO。如果你还有其他问题,请回答。通过更改此选项,您将使所有当前答案无效,这违背了堆栈溢出的目的。你也可能会发现,如果你能够证明自己有能力,你会得到更高质量的答案,人们会更愿意帮助你。我猜不同的国家在这方面没有帮助,因为国家已经分组,而不同只是分组的另一个捷径?你需要不同的或分组的,不是两者都有。为什么在不同时分组更有效