主表:nationalityInfo
从表:customerInfo
其中customerInfo表的NationalityID为外键引用nationalityInfo表的主键nationalityID
查询每个国家的住店总人数
select nationalityID,count(*) as 住店人数 from customerInfo group by NationalityID
问题是:我要把国籍ID直接显示为国籍名字
select n.nationality,count(*) as 住店人数
from customerInfo as c join nationalityInfo as n on c.NationalityID=n.NationalityID
group by c.NationalityID
这样就是错误的,因为我是按照nationalityID分组的,所以显示nationality就错了,怎样解决呢??
nationality 和 NationalityID 应该是对应的吧
这样行不?
不,得用nationalityid分组,我想到一个方法,就是:select max(n.nationality)..... 不知道这样有没有弊端
追答关键是看你的 n.nationality 和 NationalityID 是不是一一对应,如果完全对应的话,你可以
或者
select c.NationalityID,max(n.nationality),count(*) as 住店人数都可以的。
好吧,我也觉得这问题挺奇怪。。。