mysql - 获取囚犯访客计数

标签 mysql

表格看起来像这样:

Person
first_name
middle_name
last_name
person_ssn

Prisoner
person_ssn
prisoner_id

Visitation
visitor_id
prisoner_id

visitor
visitor_id
first_name
last_name

我有兴趣了解囚犯的姓名以及他们有多少访客。

到目前为止我所得到的:

select person.first_name, person.middle_name, person.last_name, count(visitor_id) AS visitorCount
from prisoner
inner join person on prisoner.person_ssn = person.person_ssn
inner join visitation on prisoner.prisoner_id = visitation.prisoner_id;

这似乎只会导致一名囚犯

最佳答案

您需要一个group by子句。否则,您的查询是返回一行的聚合查询。

select person.first_name, person.middle_name, person.last_name, count(visitor_id) AS visitorCount
from prisoner
inner join person on prisoner.person_ssn = person.person_ssn
inner join visitation on prisoner.prisoner_id = visitation.prisoner_id
group by person.first_name, person.middle_name, person.last_name;

关于mysql - 获取囚犯访客计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23666721/

相关文章:

mysql - ARCHFLAGS 不接受命令(Snow Leopard 上的 MySQL 64 位 ruby​​ gem 安装问题)

php - Laravel WhereHas 与多态关系

mysql - 我需要一些帮助来实现急切加载

MYSQL - 将数据拆分为多行

php - Doctrine DBAL - 在带有附加参数的数组中

android - 无法通过servlet向mysql插入数据

php - 如何从表中获取最近7天的记录

php - 带时区的 MySQL WeekOfYear()?

php - 搜索 mySql 中的所有字段

php - 如何在 PHP 7 中启用 MySQLi 扩展?