mysql - 如何选择列中多个值共有的 id 或值

标签 mysql sql doctrine-1.2

这是我的问题

book student_id
1     1
2     2
3     3
1     2

在本例中,我想要第 1 本书,因为它对于学生 1 和 2 的组合来说是常见的(要匹配的学生数量可能会发生变化)

如何根据组合获取两个或更多学生共用的书。有没有办法让这些值充当临时列

最佳答案

您只需将group byhaving一起使用:

select book
from table t
group by book
having count(*) > 1;

如果表中可以有重复项(同一学生和同一本书),那么最后一行应该是:

having count(distinct student_id) > 1;

关于mysql - 如何选择列中多个值共有的 id 或值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29369893/

相关文章:

php - MySQL 中比较三个表的一个答案

php - MySQL按两列查找多条记录

mysql - 查询多个表相同的表具有不同的值Mysql

sql - 将成人数据集从文件加载到数据库

symfony1 - symfony : actAs: { Timestampable: ~ }

validation - Doctrine PHP 1.2 - 如何跳过空字段的唯一验证

mysql - Have 字段 Doctrine 中的子查询

mysql : unable to retrieve the desired data properly

mysql - 根据特定条件将数据从一张表复制到另一张表

MySQL基于另一个表多次插入可变数量的行