php - 如何在mysql中搜索?

标签 php mysql search many-to-many

如何选择 ability_id 等于 1 和 2 以及 3 的 doctor_id? (所以答案是 70)

我知道我不能使用 IN 语句

doctor_id| ability_id
-------- | -------------
70       |      1
71       |      2
70       |      2
70       |      3
50       |      1
20       |      2
10       |      2

最佳答案

戈登查询的替代方法是按医生汇总,限制为 1、2 或 3 中的能力,然后保留具有三种不同能力的医生。这意味着保留的医生具有所有三个能力。

SELECT doctor_id
FROM yourTable
WHERE ability_id IN (1, 2, 3)
GROUP BY doctor_id
HAVING COUNT(DISTINCT ability_id) = 3

关于php - 如何在mysql中搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45545610/

相关文章:

mysql - Django 与 MySQL 和 UTF-8

php - 这个 mysql_result 语句的 mysqli 等效项是什么?

javascript - 有没有更快的方法来搜索表中的值?

java - 打开 Office Writer 搜索和查找字符串并移动光标

algorithm - A* 功能

php - 创建动态页面主体的最有效方法是什么?

php - 从另一个数据库获取数据

php - 在源代码 View 中加密 html 代码

php - 使用表名顺序的原则

php - 将数据从 PHP 传输到 JavaScript 时计算时区偏移量