mysql - 如何统计表中主键值的出现次数

标签 mysql sql

可能是一个简单的问题,但它让我陷入困境:

如果我有三个表:

杂志表:

杂志(标题、出版商、主题)

客户:

客户(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/

相关文章:

java 到 MYSQL 日期时间格式

mysql - MySQL 上每周的 ORDER BY

mysql - 如何在 SQL 中按特殊字符 ï、Ş、Ğ 正确对字符串进行字母顺序排序

sql - postgresql:对于给定的表名,模式名是什么?

c# - 使用 SQL 存储过程作为源在 ASP.NET Gridview 中将数字格式化为货币

java - TemporalType.TIMESTAMP whit java.util.Date 不起作用( hibernate 版本 3.2.7.ga)

mysql - 如何在 MySQL 数据库中定义一个 append-only 表?

php - 电子邮件中的 codeigniter 加入查询问题

php - 选择第二天轮类休息的用户,我想在后端检查第一天哪个不应该休息

sql - 如果我要发布有关 Oracle SQL 查询性能的问题,我的问题中应该包括什么?