Mysql SQL COUNT具有多个艺术家的国籍以及该国籍中的艺术家数量

Mysql SQL COUNT具有多个艺术家的国籍以及该国籍中的艺术家数量,mysql,sql,Mysql,Sql,艺术家 (姓、名、国籍) 我必须列出数据库中有一名以上艺术家的所有国籍,以及该国籍艺术家的数量 所以输出应该是 Spanish 3 United states 4 French 2 拥有是你的朋友 SELECT NATIONALITY, COUNT(*) FROM ARTIST GROUP BY NATIONALITY HAVING COUNT(*)>1 您可以使用group by子句为每个国籍应用一个组,然后使用having子句仅保留多个艺术家的

艺术家

(姓、名、国籍)

我必须列出数据库中有一名以上艺术家的所有国籍,以及该国籍艺术家的数量

所以输出应该是

Spanish         3
United states   4
French          2

拥有
是你的朋友

SELECT NATIONALITY, COUNT(*)
FROM ARTIST
GROUP BY NATIONALITY
HAVING COUNT(*)>1

您可以使用
group by
子句为每个国籍应用一个组,然后使用
having
子句仅保留多个艺术家的国籍:

SELECT   nationality, COUNT(*)
FROM     artist
GROUP BY nationality
HAVING   COUNT(*) > 1

按组使用并具有

SELECT count(*),`NATIONALITY` 
FROM `ARTIST` 
GROUP BY `NATIONALITY` 
HAVING count(FIRSTNAME) > 1

无需使用,简单分组即可:

SELECT NATIONALITY,COUNT(*) FROM ARTIST GROUP BY NATIONALITY;

您需要使用的是计数函数。试一试

我想你需要的是一个总计数。这很简单:

Count(*)

我想这个问题以前已经被问过很多次了,所以为了节省时间,下次尝试搜索文档。

。拥有COUNT(nationality)>1
只是为了提供信息:这不会考虑名字为空的记录。谢谢您的代码片段,它可能会提供一些即时帮助。通过说明为什么这是一个很好的解决问题的方法,正确地解释它的教育价值,并将使它对未来有类似但不完全相同问题的读者更有用。请在回答中添加解释,并说明适用的限制和假设。
SELECT NATIONALITY,COUNT(*) FROM ARTIST GROUP BY NATIONALITY;
Count(*)