可能是一个简单的问题,但它让我陷入困境:
如果我有三个表:
杂志表:
杂志(标题、出版商、主题)
客户:
客户(cid,姓名)
以及客户对杂志的订阅:
订阅(cid、标题、发布商、start_date)
正如您所看到的,杂志表的主键有两个属性,那么如何编写一个查询来统计每个客户对杂志的订阅数量?
我尝试过:
select cid, count(distinct title)
from subscriptions
group by cid
但它计算的是每个客户的杂志标题数量,而不是标题与出版商的组合,出版商是杂志的主键(两本不同的杂志可以具有相同的标题但出版商不同)。
最佳答案
您可以尝试使用:
select cid, count(distinct (title || publisher))
from subscribes group by cid;
提供的||
是字符串连接运算符。
关于mysql - 如何统计表中主键值的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34022280/